力扣算法-黑名单
class Solution {
int size;
HashMap<Integer,Integer>map=new HashMap<>();
Random random;
public Solution(int n, int[] blacklist) {
random=new Random();
size=n-blacklist.length;
for(int bn:blacklist){
map.put(bn,1);
}
int last=n-1;
for(int bn:blacklist){
if(bn>=size){
continue;
}
while(map.containsKey(last)){
last--;
}
map.put(bn,last);
last--;
}
}
public int pick() {
int r= random.nextInt(size);
if(map.containsKey(r)){
return map.get(r);
}else{
return r;
}
}
}


浙公网安备 33010602011771号