leetcode 398. Random Pick Index | 398. 随机数索引(Java)
生活随笔
收集整理的這篇文章主要介紹了
leetcode 398. Random Pick Index | 398. 随机数索引(Java)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目
https://leetcode.com/problems/random-pick-index/
題解
常規思路,先用 map 存一串,取的時候從 map 對應的串中隨機拿一個就 ok。
class Solution {private Map<Integer, List<Integer>> map;private Random r;public Solution(int[] nums) {r = new Random();map = new HashMap<>();for (int i = 0; i < nums.length; i++) {if (!map.containsKey(nums[i])) {map.put(nums[i], new ArrayList<>());}map.get(nums[i]).add(i);}}public int pick(int target) {int size = map.get(target).size();return map.get(target).get(r.nextInt(size));} }/*** Your Solution object will be instantiated and called as such:* Solution obj = new Solution(nums);* int param_1 = obj.pick(target);*/總結
以上是生活随笔為你收集整理的leetcode 398. Random Pick Index | 398. 随机数索引(Java)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: leetcode 397. Intege
- 下一篇: java美元兑换,(Java实现) 美元