剑指offer第三题(数组中找出重复数字)
程序员文章站
2023-12-27 18:23:15
...
在一个数组中找到重复数字
思想:
用map键值对来存储,键存储数组中的值,值对存储数组中值出现的次数。
代码:
package cn.wzq.sword_finger_offer;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
public class Sword03 {
/*
*查找数组中重复的数字,并输出
*/
public Set getRepeatNum(int[] array) {
Set<Integer> set = new HashSet<Integer>();
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
for (int i = 0; i < array.length; i++) {
if (!map.containsKey(array[i])) {
map.put(array[i], 1);
} else {
set.add(array[i]);
}
}
return set;
}
public static void main(String[] arg){
int[] repeate = {1,1,1,2,2,2,3,3,3,5,6,7,8,9,10,10};
Sword03 sword03 = new Sword03();
System.out.println(sword03.getRepeatNum(repeate));
}
}
推荐阅读
-
剑指offer第三题(数组中找出重复数字)
-
【剑指offer】面试题3 数组中的重复元素
-
【剑指offer题目3】数组中重复的数字
-
《剑指offer》第三_一题:数组中重复的数字
-
剑指offer28:找出数组中超过一半的数字。
-
剑指offer之在排序数组中查找数字 I(C++/Java双重实现)
-
【剑指 Offer-python】 03. 数组中重复的数字
-
剑指offer 56 数组中数字出现的次数 lintcode 82. 落单的数、83. 落单的数 II、84. 落单的数 III
-
【剑指offer】面试题56(1):数组中只出现一次的两个数字
-
剑指offer:数组中只出现一次的两个数字(java版)