五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Leetcode Day19 1

2022-04-25 10:35 作者:我喜歡喝一點點  | 我要投稿

398. 隨機(jī)數(shù)索引

給定一個可能含有重復(fù)元素的整數(shù)數(shù)組,要求隨機(jī)輸出給定的數(shù)字的索引。 您可以假設(shè)給定的數(shù)字一定存在于數(shù)組中。


注意:

數(shù)組大小可能非常大。 使用太多額外空間的解決方案將不會通過測試。


示例:


int[] nums = new int[] {1,2,3,3,3};

Solution solution = new Solution(nums);


// pick(3) 應(yīng)該返回索引 2,3 或者 4。每個索引的返回概率應(yīng)該相等。

solution.pick(3);


// pick(1) 應(yīng)該返回 0。因為只有nums[0]等于1。

solution.pick(1);


嗯這道題我只會用dict做,用一個然后每個鍵值對應(yīng)一個idx的列表

看了下題解,defaultdict是可以在沒有value值時返回某人值的~

class?Solution:


????def?__init__(self,?nums:?List[int]):

????????self.nums_idx_map=defaultdict(list)

????????for?i,nums?in?enumerate(nums):

????????????self.nums_idx_map[nums].append(i)


????def?pick(self,?target:?int)?->?int:

????????return?random.choice(self.nums_idx_map[target])



然后我看題解給了個更高效的算法:大數(shù)據(jù)抽樣法

所以可以以1/k的概率進(jìn)行更新,就可以保證概率相同


Leetcode Day19 1的評論 (共 條)

分享到微博請遵守國家法律
南宫市| 繁昌县| 义乌市| 大兴区| 万宁市| 漳平市| 山东省| 洛扎县| 兴业县| 博湖县| 遂川县| 浏阳市| 应城市| 邮箱| 米泉市| 西盟| 甘肃省| 布拖县| 城步| 榕江县| 钟山县| 无极县| 玛曲县| 廉江市| 乐平市| 万全县| 永平县| 成武县| 黑山县| 乃东县| 临西县| 界首市| 婺源县| 延安市| 闽侯县| 栖霞市| 玛曲县| 平罗县| 五大连池市| 民勤县| 南昌县|