[编程题] 数组中的重复数字
Posted jiyongjia
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[编程题] 数组中的重复数字相关的知识,希望对你有一定的参考价值。
数组中的重复数字
题目描述
Java代码
、import java.util.*;
public class Solution {
// Parameters:
// numbers: an array of integers
// length: the length of array numbers
// duplication: (Output) the duplicated nu Here duplication like pointor in C/C++, duplication[0] equal *duplmber in the array number,length of duplication array is 1,so using duplication[0] = ? in implementation;
// ication in C/C++
// 这里要特别注意~返回任意重复的一个,赋值duplication[0]
// Return value: true if the input is valid, and there are some duplications in the array number
// otherwise false
public boolean duplicate(int[] numbers, int length, int[] duplication) {
Map<Integer, Integer> map = new LinkedHashMap<Integer, Integer>(length);
if(numbers==null || numbers.length==0){
return false;
}
for (int i = 0; i < numbers.length; i++) {
if (!map.containsKey(numbers[i])) {
map.put(numbers[i], 1);
} else {
int value = map.get(numbers[i]);
map.put(numbers[i], ++value);
}
}
for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
Integer key = entry.getKey();
Integer value = entry.getValue();
if (value != 1) {
duplication[0] = key;
return true;
}
}
return false;
}
}
以上是关于[编程题] 数组中的重复数字的主要内容,如果未能解决你的问题,请参考以下文章