[Leetcode]398. Random Pick Index
来源:互联网 发布:淘宝电商差评怎么回复 编辑:程序博客网 时间:2024/04/30 20:32
题目:
Given an array of integers with possible duplicates, randomly output the index of a given target number. You can assume that the given target
number must exist in the array.
Note:
The array size can be very large. Solution that uses too much extra space will not pass the judge.
Example:
int[] nums = new int[] {1,2,3,3,3};Solution solution = new Solution(nums);// pick(3) should return either index 2, 3, or 4 randomly. Each index should have equal probability of returning.solution.pick(3);// pick(1) should return 0. Since in the array only nums[0] is equal to 1.solution.pick(1);
代码:
1.第一种写法
public class Solution {
private int[]nums;Random random =new Random();
public Solution(int[] nums) {
this.nums = nums;
}
public int pick(int target) {
ArrayList<Integer>list = new ArrayList<Integer>();
for(int i = 0 ; i < nums.length;i++){
if(nums[i]==target){
list.add(i);
}
}
//把目标值存放在list中,然后等概率的返回
return list.get(random.nextInt(list.size()));
}
}
/**
* Your Solution object will be instantiated and called as such:
* Solution obj = new Solution(nums);
* int param_1 = obj.pick(target);
*/
2.第二种写法:
0 0
- 【Leetcode】398. Random Pick Index
- Leetcode 398. Random Pick Index
- [LeetCode] 398. Random Pick Index
- LeetCode 398. Random Pick Index
- [Leetcode]398. Random Pick Index
- 【Leetcode】398. Random Pick Index
- 【LeetCode】 398. Random Pick Index
- LeetCode 398. Random Pick Index
- [leetcode]398. Random Pick Index
- [LeetCode]398. Random Pick Index
- Leetcode-398. Random Pick Index
- [leetcode] 398. Random Pick Index
- leetcode 398. Random Pick Index
- [LeetCode] 398. Random Pick Index
- leetcode 398. Random Pick Index
- LeetCode—398. Random Pick Index
- 【leetcode】398. Random Pick Index【M】
- [leetcode] 398. Random Pick Index 解题报告
- 为Raspberrypi3适配Brillo系统Yudatun
- qt qml scrollbar 移动APP风格的滚动轴
- C语言矩阵运算库大起底
- c++小知识点4.0
- Android Fragment中onActivityResult()方法获取不到返回数据或者无响应的解决办法
- [Leetcode]398. Random Pick Index
- qt qml 九宫格划指锁屏视图
- fatal error: libmemcached/memcached.h: No such file or directory
- 关于node.js的学习16
- C#导出EXCEL文件,过长的数值被显示为科学技术法
- TextUtils类中的isEmpty,isDigitsOnly
- 产生数
- qt qml 刮刮卡效果
- H.264编解码技术[原始积累二]