题解 | #数组中重复的数字#

数组中重复的数字

http://www.nowcoder.com/practice/6fe361ede7e54db1b84adc81d09d8524

public int duplicate (int[] numbers) { HashMap<Integer,Boolean> map=new HashMap<>();//先建立一个HashMap,它存储的是双列数据,即键值和值是一一对应的,如果一个数字重复了,那么可以将原本是True的值改成False.再根据键值进行增强for循环来找出value是false的,那么就是重复的键值对应的value. for(int i=0;i<numbers.length;i++){ map.put(numbers[i] ,!map.containsKey(numbers[i]) ); }//刚开始把数组的数字put进map的时候,value初始值都是True,那么一旦发现重复,会找到那个key覆盖原始的value为false //遍历HashMap集合 // Set nums=map.keySet();//用keySet方法可以得到map的键值的Set集合 for(Integer k: map.keySet(){ if(!map.get(k)) return k; } return -1; }

全部评论

相关推荐

今天 11:16
湖南大学 Web前端
我看到好多人都在说0offer好焦虑,结果一看是投了百度快手字节啥的。好像大家都是只想通过校招进大厂,对小公司是不考虑的吗😂可是能进大厂的难道不是只有少部分人吗,真心发问
梦想是成为七海千秋:沉默的大多数吧,喜欢晒的都是能引起共鸣的大厂,找小厂的人,别人也不认识你这个小厂,就自己偷偷找了实际上大多数人哪有什么机会能找到大厂
点赞 评论 收藏
分享
仁者伍敌:难怪小公司那么挑剔,让你们这些大佬把位置拿了
点赞 评论 收藏
分享
迟缓的斜杠青年巴比Q了:简历被投过的公司卖出去了,我前两天遇到过更离谱的,打电话来问我有没有意向报班学Java学习,服了,还拿我学校一个学长在他们那报班学了之后干了华为OD当招牌
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务