找出一个数组中第一个重复出现两次的元素,没有则返回空。例如[1,2,3,4,5,2,3,4,2],重复两次的是3和4,3比4先出现,结果为3public int getFirstDoubleRepetitiveltem(int[] items){
//代码
return null;
}
6 回答
呼如林
TA贡献1798条经验 获得超3个赞
public static void main(String[] args) { int value = 0; int[] aa = { 1, 2, 3, 4, 5, 2, 3, 4, 2 }; Map<Integer, Integer> m = new LinkedHashMap<Integer, Integer>(); // 将每个数字对应的个数放入map for (int i = 0; i < aa.length; i++) { if (m.containsKey(aa[i])) { m.put(aa[i], ((Integer) m.get(aa[i])) + 1); } else { m.put(aa[i], 1); } } // 遍历map Iterator<Map.Entry<Integer, Integer>> it = m.entrySet().iterator(); while (it.hasNext()) { Map.Entry<Integer, Integer> entry = it.next(); if (entry.getValue() == 2) { value = entry.getKey(); break; } } System.out.println(value); }
回首忆惘然
TA贡献1847条经验 获得超11个赞
public Integer getFirstDoubleRepetitiveltem(int[] items){ for (int i = 1; i < items.length; i++) for (int j = 0; j < i; j++) if (items[i] == item[j]) return new Integer(items[i]); return null; }
当然,两重循环的效率会比较低,如果需要效率比较高的算法,采纳了,可以帮你写。
慕尼黑的夜晚无繁华
TA贡献1864条经验 获得超6个赞
public static Integer getFirstDoubleRepetitiveltem(int[] items){ for (int i = 0,len = items.length;i < len;i++) { if(isRepeat(items,i)){ return items[i]; } } return null; } public static boolean isRepeat(int[] items,int focus){ for (int i = 0;i < focus;i++) { if (items[i] == items[focus]){ return true; } } return false; }
开满天机
TA贡献1786条经验 获得超13个赞
private static int method(int[] is){
int a=0;
for(int i=0;i<is.length-1;i++){
for(int j=i+1;j<is.length;j++){
if(is[i]==is[j]){
return is[i];
}
}
}
return a;
}
哈士奇WWW
TA贡献1799条经验 获得超6个赞
public static Integer getFirstDoubleRepetitiveltem(int[] items){
for (int i = 0,len = items.length;i < len;i++) {
if(isRepeat(items,i)){
return items[i];
}
}
return null;
}
public static boolean isRepeat(int[] items,int focus){ for (int i = 0;i < focus;i++) { if (items[i] == items[focus]){ return true; } } return false; }
饮歌长啸
TA贡献1951条经验 获得超3个赞
public int getFirstDoubleRepetitiveltem(int[] intArr){ int temp = 0; aa: for(int i= 0; i<intArr.length; i++) { for(int j= i+1; j<intArr.length; j++) { if(intArr [i] == intArr[j]) { temp = intArr[i]; break aa; } } } return 0; }
添加回答
举报
0/150
提交
取消