标签:
https://leetcode.com/problems/random-pick-index/ public class Solution { private Map mp; private Random rand; public Solution(int[] nums) { mp = new HashMap(); for (int i=0; i<nums.length; i++) { List lt = (ArrayList)mp.remove(nums[i]); if (lt == null) { lt = new ArrayList(); } lt.add(i); mp.put(nums[i], lt); } rand = new Random(); } public int pick(int target) { List lt = (ArrayList)mp.get(target); return (int)lt.get(rand.nextInt(lt.size())); } } /** * Your Solution object will be instantiated and called as such: * Solution obj = new Solution(nums); * int param_1 = obj.pick(target); */
标签:
原文地址:http://www.cnblogs.com/charlesblc/p/5880711.html