398. 随机数索引 ( 设计 )
LeetCode:398. 随机数索引
要求返回 target 在数组中随机的一个下标
留意,这个数组不是有序的,有序的话使用 二分查找。
这里无序的, 直接保存相同元素的下标,然后随机返回
AC Code
class Solution {int[] nums = null;public Solution(int[] nums) {this.nums = nums;}public int pick(int target) {List<Integer> list = new ArrayList<>();for(int i = 0; i < nums.length; i++){if(nums[i] == target){list.add(i);}}Random random = new Random();return list.get(random.nextInt(list.size()));}
}/*** Your Solution object will be instantiated and called as such:* Solution obj = new Solution(nums);* int param_1 = obj.pick(target);*/
398. 随机数索引 ( 设计 )相关推荐
- 398. 随机数索引(哈希表预处理 Or 蓄水池抽样)
文章目录 Question Ideas 1.Answer( Java ) `⚡️ getOrDefault(Object key, V defaultValue)` Code①( HashMap 实现 ...
- leetcode刷题记录-398. 随机数索引
前言 今天的题目为中等,跟之前碰到过的一道题思路很相似,利用map表来空间换时间,以此来做到节省时间复杂度. 每日一题 今天的题目是 398. 随机数索引,难度为中等 给你一个可能含有 重复元素 的整 ...
- Java实现 LeetCode 398 随机数索引
398. 随机数索引 给定一个可能含有重复元素的整数数组,要求随机输出给定的数字的索引. 您可以假设给定的数字一定存在于数组中. 注意: 数组大小可能非常大. 使用太多额外空间的解决方案将不会通过测试 ...
- Leetcode 398. 随机数索引 解题思路及C++实现
解题思路: 题目对空间复杂度有要求.在构造函数中,应该要先把nums数组拷贝一下. 在pick函数中,必然要遍历数组nums,这样才能得到 target 值对应的所有索引,之后再生成一个随机数,返回任 ...
- LeetCode系列398—随机数索引(蓄水池抽样)
题意 给定一个可能含有重复元素的整数数组,要求随机输出给定的数字的索引. 您可以假设给定的数字一定存在于数组中. 注意: 数组大小可能非常大. 使用太多额外空间的解决方案将不会通过测试. 示例: in ...
- LeetCode 398. 随机数索引(概率)
1. 题目 给定一个可能含有重复元素的整数数组,要求随机输出给定的数字的索引. 您可以假设给定的数字一定存在于数组中. 注意: 数组大小可能非常大. 使用太多额外空间的解决方案将不会通过测试. 示例: ...
- 398. 随机数索引
链接 给定一个可能含有重复元素的整数数组,要求随机输出给定的数字的索引. 您可以假设给定的数字一定存在于数组中. 注意: 数组大小可能非常大. 使用太多额外空间的解决方案将不会通过测试. 示例: in ...
- LeetCode 398. 随机数索引
1.题目 https://leetcode-cn.com/problems/random-pick-index/ 2.题解 蓄水池抽样 其思路就是循环之后先判断一下这个数在数组中的索引, 然后随机选出 ...
- LeetCode 398 随机数索引 Python
给定一个可能含有重复元素的整数数组,要求随机输出给定的数字的索引. 您可以假设给定的数字一定存在于数组中. 注意: 数组大小可能非常大. 使用太多额外空间的解决方案将不会通过测试. 示例: int[] ...
最新文章
- 第四章:Spring项目文件上传两种方式(全解析)
- vue indev.html,webpack多入口热加载很慢
- [APB VNext 笔记] UI
- 百度Apollo无人车能力降维释放,打造智能汽车现在可以像拼乐高
- pandas.Series.multiply()含义解释
- VTK:直线网格之RectilinearGrid
- 检测Java Web应用程序而无需修改其源代码
- recv, recvfrom, recvmsg
- asp.net 与 java 2017_[ASP.net教程]C#与JAVA学习感悟
- SpUtil多样加密存储,兼容android9.0
- Kali Linux-MSF远控局域网手机
- 四个跑马灯的c语言程序,入门编程语言跑马灯,C语言设计跑马灯程序
- 随机信号分析学习笔记(6)
- 智能化弱电系统工程部分规程
- ubuntu下Tomcat更改端口号
- Glide加载长图;WebView加载富文本(图片自适应屏幕大小)
- 2022道路运输企业安全生产管理人员考试模拟100题及模拟考试
- mysql amoeba_MySQL基于Amoeba实现读写分离
- 为什么说阿里云和亚马逊云对比,阿里云的性价比比较低?
- linux下配置mysql_linux下安装mysql