leetcode 382. Linked List Random Node | 382. 链表随机节点(Java)
题目
https://leetcode.com/problems/linked-list-random-node/
题解
先存起来,再随机返回即可。不知道在考察什么?
/*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val = val; }* ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {List<Integer> list;java.util.Random rand = new java.util.Random();/** @param head The linked list's head.Note that the head is guaranteed to be not null, so it contains at least one node. */public Solution(ListNode head) {list = new LinkedList<>();while (head != null) {list.add(head.val);head = head.next;}}/** Returns a random node's value. */public int getRandom() {return list.get(rand.nextInt(list.size()));}
}
/*** Your Solution object will be instantiated and called as such:* Solution obj = new Solution(head);* int param_1 = obj.getRandom();*/
leetcode 382. Linked List Random Node | 382. 链表随机节点(Java)相关推荐
- 【LeetCode】剑指 Offer 18. 删除链表的节点
[LeetCode]剑指 Offer 18. 删除链表的节点 文章目录 [LeetCode]剑指 Offer 18. 删除链表的节点 一.双指针 一.双指针 本题删除值为 val 的结点需分为两步: ...
- LeetCode 382. 链表随机节点(概率)
1. 题目 给定一个单链表,随机选择链表的一个节点,并返回相应的节点值.保证每个节点被选的概率一样. 进阶: 如果链表十分大且长度未知,如何解决这个问题?你能否使用常数级空间复杂度实现? 来源:力扣( ...
- Leetcode 382. 链表随机节点 解题思路及C++实现
解题思路: 因为题目中要求需要常数级的空间复杂度,所以就需要计算链表长度了. /*** Definition for singly-linked list.* struct ListNode {* i ...
- [Swift]LeetCode382. 链表随机节点 | Linked List Random Node
原文地址:https://www.cnblogs.com/strengthen/p/10282841.html Given a singly linked list, return a random ...
- LeetCode Linked List Random Node(蓄水池采样算法)
问题:给出一个单链表,随机选择链表中的一个节点,返回相应的值.保证每个节点被选的概率一样 思路:每次只保留一个数,当遇到第 i 个数时,以 1/i的概率保留它,(i-1)/i的概率保留原来的数. 具体 ...
- LeetCode 142. Linked List Cycle II--单向链表成环的起点--C++,Python解法
题目地址:Linked List Cycle II - LeetCode Given a linked list, return the node where the cycle begins. If ...
- LeetCode Reverse Linked List II 反置链表2
题意:将指定的一段位置[m,n]的链表反置,返回链表头. 思路:主要麻烦在链表头,如果要从链表头就开始,比较特殊. 目前用DFS实现,先找到m-1的位置,再找到n+1的位置,中间这段就是否要反置的,交 ...
- 链表逆序(JAVA实现)
题目:将一个有链表头的单向单链表逆序 分析: 链表为空或只有一个元素直接返回: 设置两个前后相邻的指针p,q,使得p指向的节点为q指向的节点的后继: 重复步骤2,直到q为空: 调整链表头和链表尾: 图 ...
- [LeetCode] Reverse Linked List I II - 链表翻转问题
题目概述: Reverse a singly linked list. 翻转一个单链表,如:1->2 输出 2->1:1->2->3 输出3-& ...
最新文章
- python代码变量作业_python - 是否可以在Jenkins的代码中注入变量,然后像往常一样运行作业? - SO中文参考 - www.soinside.com...
- echarts的词云图表类型有哪些_词云图的几种制作方法评测,你pick哪款
- joomla网页无任何显示输出
- 常用String方法
- layer.msg();怎么关闭
- python爬虫代码1000行-Python爬虫教程(16行代码爬百度)
- socket编程为什么要选择AF_INET?
- 4.帧循环(游戏主循环),schedule
- RVDS4.0上开发cortex A8 NEON程序
- python规模大小的指标是_训练数据多少才够用
- html文档head,HTML的head标签
- 用python实现接口测试(八、实现序列化与反序列化)
- 使用JavaScript重定向URL参数
- LeetCode(485)——最大连续1的个数(JavaScript)
- MyBatis3-SqlSessionDaoSupport的使用
- UED团队建设系列之前端开发工程师:职业技能与素质
- JavaScript中常见的设计模式
- go语言:sync.Once的用法
- 苹果系统升级服务器,苹果操作系统升级 正式挥别PowerPC
- 2.数据分析-面板数据变系数模型
热门文章
- HDU - 5658 CA Loves Palindromic(回文自动机/哈希+树状数组)
- 牛客 - 走迷宫(模拟+离线)
- ZOJ - 2972 Hurdles of 110m(记忆化搜索/动态规划)
- c语言设计一个仿真窗口的程序,51单片机C语言实例(350例)Proteus仿真和代码
- 关于ax+by+cz的最大不可表数
- [luogu4027] [NOI2007]货币兑换
- C++中placement new操作符(经典)
- 看完微软大神写的求平均值代码,我意识到自己还是 too young 了
- 深入理解程序执行原理
- 你不知道的 IDEA Debug 调试小技巧!