博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode 398: Random Pick Index
阅读量:5811 次
发布时间:2019-06-18

本文共 1059 字,大约阅读时间需要 3 分钟。

class Solution {    Map
startIndex; Map
lengths; Random random; public Solution(int[] nums) { random = new Random(); startIndex = new HashMap<>(); lengths = new HashMap<>(); int length = 1; int start = nums[0]; startIndex.put(nums[0], 0); for (int i = 1; i < nums.length; i++) { if (start != nums[i]) { lengths.put(start, length); length = 1; start = nums[i]; startIndex.put(nums[i], i); } else{ length++; } } lengths.put(start, length); } public int pick(int target) { if (!startIndex.containsKey(target)) { return 0; } return startIndex.get(target) + random.nextInt(lengths.get(target)); }}/** * Your Solution object will be instantiated and called as such: * Solution obj = new Solution(nums); * int param_1 = obj.pick(target); */

 

转载于:https://www.cnblogs.com/shuashuashua/p/7457848.html

你可能感兴趣的文章
Android状态栏实现沉浸式模式
查看>>
让你的APP实现即时聊天功能
查看>>
iOS 绝对路径和相对路径
查看>>
使用Openfiler搭建ISCSI网络存储
查看>>
应用新安全组 - 每天5分钟玩转 OpenStack(116)
查看>>
iOS - UIViewController
查看>>
IntPtr 转 string
查看>>
学生名单
查看>>
(转) 多模态机器翻译
查看>>
【官方文档】Nginx负载均衡学习笔记(三) TCP和UDP负载平衡官方参考文档
查看>>
矩阵常用归一化
查看>>
Oracle常用函数总结
查看>>
【聚能聊有奖话题】Boring隧道掘进机完成首段挖掘,离未来交通还有多远?
查看>>
USNews大学排名遭美国计算机研究学会怒怼,指排名荒谬要求撤回
查看>>
struts1——静态ActionForm与动态ActionForm
查看>>
七大关键数据 移动安全迎来历史转折点
查看>>
在AngularJS中学习javascript的new function意义及this作用域的生成过程
查看>>
盘点物联网网关现有联网技术及应用场景
查看>>
1、下载安装scala编译器(可以理解为scala的jdk),地址:http://www.scala
查看>>
mui 总结2--新建第一个app项目
查看>>