Posts

Showing posts with the label probability

398. Random Pick Index

https://leetcode.com/problems/random-pick-index/ 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); --- Related problems 380-insert-delete-getrandom-o1 382-linked-list-random-node 528-random-pick-with-weight ---

528. Random Pick with Weight

https://leetcode.com/problems/random-pick-with-weight/ Given an array  w  of positive integers, where  w[i]  describes the weight of index  i , write a function  pickIndex  which randomly picks an index in proportion to its weight. Note: 1 <= w.length <= 10000 1 <= w[i] <= 10^5 pickIndex  will be called at most  10000  times. Example 1: Input: ["Solution","pickIndex"] [[[1]],[]] Output: [null,0] Example 2: Input: ["Solution","pickIndex","pickIndex","pickIndex","pickIndex","pickIndex"] [[[1,3]],[],[],[],[],[]] Output: [null,0,1,1,1,0] Explanation of Input Syntax: The input is two lists: the subroutines called and their arguments.  Solution 's constructor has one argument, the array  w .  pickIndex  has no arguments. Arguments are always wrapped with a list, even if there aren't any. --- Related problems 380-insert-de...