[LeetCode]382. Linked List Random Node
来源:互联网 发布:网络教育的发展前景 编辑:程序博客网 时间:2024/04/29 11:52
https://leetcode.com/problems/linked-list-random-node/
随机获取链表中某个节点的值
蓄水池算法,遍历链表。在位置i处时,随机[0, i)如果得到i - 1,则res赋值位置i处的node值;反之res不变,指针后移。最终每个节点取到的概率相同。位置k处渠道的概率为:
(1 / k) * (k / k + 1) * …… * (n - 1 / n) = 1 / n
public class Solution {ListNode head;Random random;public Solution(ListNode head) {this.head = head;this.random = new Random();}// 返回随机取出的node的valuepublic int getRandom() {int res = head.val;int count = 1;ListNode cur = head;while (cur != null) {if (random.nextInt(count) == count - 1) {res = cur.val;}count++;cur = cur.next;}return res;}}
0 0
- [leetcode] 382. Linked List Random Node
- <LeetCode OJ> 382. Linked List Random Node
- LeetCode—382. Linked List Random Node
- 【leetcode】382. Linked List Random Node
- [leetcode]382. Linked List Random Node
- Leetcode 382. Linked List Random Node
- [LeetCode]382. Linked List Random Node
- LeetCode 382. Linked List Random Node
- [leetcode]382. Linked List Random Node
- [Leetcode]382. Linked List Random Node
- 【LeetCode】 382. Linked List Random Node
- [leetcode]382. Linked List Random Node
- LeetCode 382. Linked List Random Node
- [LeetCode]382. Linked List Random Node
- leetcode 382. Linked List Random Node
- [LeetCode] 382. Linked List Random Node
- LeetCode 382. Linked List Random Node
- leetcode 382. Linked List Random Node
- Hibernate进阶之多对多双向关联
- Integer Inquiry POJ - 1503
- 3n+1问题
- [leetcode]398. Random Pick Index
- 逃离or逃避:过年后,你还回不回大城市?
- [LeetCode]382. Linked List Random Node
- 学习
- android 现场保护三种解决方案
- 软件 = 程序 + 软件工程(构建之法读书笔记一)
- Ubuntu更新4.9.6内核
- POJ 1664 放苹果 中文
- ajax(二)
- QT笔记(2)——MySQL的安装Qt的配置
- POJ 1829 火力防御网 中文