380. Insert Delete GetRandom O(1)
来源:互联网 发布:淘宝的孕妇装 编辑:程序博客网 时间:2024/06/05 16:30
public class RandomizedSet { private HashMap<Integer,Integer> m; private ArrayList<Integer> a; private Random r; /** Initialize your data structure here. */ public RandomizedSet() { m=new HashMap<>(); a=new ArrayList<>(); r=new Random(); } /** Inserts a value to the set. Returns true if the set did not already contain the specified element. */ public boolean insert(int val) { if(m.containsKey(val)) return false; a.add(val); m.put(val,a.size()-1); return true; } /** Removes a value from the set. Returns true if the set contained the specified element. */ public boolean remove(int val) { if(m.containsKey(val)){ int index=m.get(val); if(index<a.size()-1) { int lastval=a.get(a.size()-1); a.set(index, lastval); m.put(lastval,index); } a.remove(a.size()-1); m.remove(val); return true; } else return false; } /** Get a random element from the set. */ public int getRandom() { return a.get(r.nextInt(a.size())); }}
0 0
- [leetcode] 380. Insert Delete GetRandom O(1)
- leetcode 380.Insert Delete GetRandom O(1)
- 380. Insert Delete GetRandom O(1)
- 380. Insert Delete GetRandom O(1)
- 380. Insert Delete GetRandom O(1)
- 380. Insert Delete GetRandom O(1)
- [LeetCode]380. Insert Delete GetRandom O(1)
- 380. Insert Delete GetRandom O(1)
- 380. Insert Delete GetRandom O(1)
- 380. Insert Delete GetRandom O(1)
- 380. Insert Delete GetRandom O(1)
- 380. Insert Delete GetRandom O(1)
- 【Leetcode】380. Insert Delete GetRandom O(1)
- LeetCode 380. Insert Delete GetRandom O(1)
- 380. Insert Delete GetRandom O(1)
- 380. Insert Delete GetRandom O(1)
- 380. Insert Delete GetRandom O(1)
- 【leetcode】380. Insert Delete GetRandom O(1)
- CocoaPods安装最新流程
- design库下的CollapsingToolbarLayout和Toolbar加RecyclerView compileSdkVersion 24
- Android自定义控件<二>
- Runtime全方位装逼指南
- 如何解决wampsever 中mysql无法显示中文的问题
- 380. Insert Delete GetRandom O(1)
- git学习(2) 远程连接github
- jms中消息接收的实现原理
- 私人整理mysql笔记
- ES6/ES2015核心内容
- linux 手动源码安装lnmp(亲测)
- TaintDroid部署过程详解
- VS编译器中加入QT库
- 【DVB】【法国】法国NRJ进行超高清/HDR数字地面电视测试