题号412
https://leetcode-cn.com/problems/random-pick-index/submissions/
原理:
https://www.jianshu.com/p/63f6cf19923d
https://blog.csdn.net/huagong_adu/article/details/7619665
从n个大数据中取k个元素,要求k个元素选取等概率(n未知)---->蓄水池抽样
import java.util.*;
class Solution {
private int[] nums;
public Solution(int[] nums) {
this.nums = nums;
}
public int pick(int target) {
int index = -1;
int count = 1;
for(int i=0;i<this.nums.length;i++){
if(nums[i]==target){
if(new Random().nextInt(count++)==0){
index = i;
}
}
}
return index;
}
}