首页 > TAG信息列表 > 水塘
力扣382 链表随机节点(水塘抽样)
题目: 原本我是用一个链表遍历的方法做的,但看了题解的水塘抽样算法,就去搜索学习了该算法,并最后用该算法实现了这个题目,所以我打算用水塘抽样的方法分析 首先了解一下这个算法 水塘抽样是一系列的随机算法,其目的在于从包含n个382. 链表随机节点(中等 链表 水塘抽样)
382. 链表随机节点 给你一个单链表,随机选择链表的一个节点,并返回相应的节点值。每个节点 被选中的概率一样 。 实现 Solution 类: Solution(ListNode head) 使用整数数组初始化对象。 int getRandom() 从链表中随机选择一个节点并返回该节点的值。链表中所有节点被选中的概率水塘抽样算法(Reservoir Sampling)
简介: 水塘抽样是一系列的随机算法,其目的在于从包含n个项目的集合S中选取k个样本,其中n为一很大或未知的数量,尤其适用于不能把所有n个项目都存放到内存的情况。 问题: 以谷歌为例,有一道关于水塘抽样的例题 我有一个长度为N的链表,N的值非常大,我不清楚N的确切值.我怎样能写一个尽可