static int findMissingNumber(int start, int end, List<Integer> list) {
/*
Integer[] array1 = list.toArray(new Integer[list.size()]);
这种方式太不推荐了。
Arrays.sort(array1);
List<Integer> list2 = new ArrayList<>();
for (int i = start; i <= end; i++) {
list2.add(i);
}
Integer[] array2 = list2.toArray(new Integer[list2.size()]);
Arrays.sort(array2);
for( int i = 0; i<list.size();i++) {
if (array1[i]-array2[i]!=0) {
return array2[i];
*/
//推荐使用这种方式 利用contains方法,看了楼上的,才学会的。谢谢了!
Integer[] array = list.toArray(new Integer[list.size()]);
for(int i = start; i <= end; i++ ) {
if(!list.contains(i)) {
return i;
return 0;
Sign in to make a reply
敢说打实话
static int findMissingNumber(int start, int end, List<Integer> list) {
/*
Integer[] array1 = list.toArray(new Integer[list.size()]);
这种方式太不推荐了。
Arrays.sort(array1);
List<Integer> list2 = new ArrayList<>();
for (int i = start; i <= end; i++) {
list2.add(i);
}
Integer[] array2 = list2.toArray(new Integer[list2.size()]);
Arrays.sort(array2);
for( int i = 0; i<list.size();i++) {
if (array1[i]-array2[i]!=0) {
return array2[i];
}
}
*/
//推荐使用这种方式 利用contains方法,看了楼上的,才学会的。谢谢了!
Integer[] array = list.toArray(new Integer[list.size()]);
for(int i = start; i <= end; i++ ) {
if(!list.contains(i)) {
return i;
}
}
return 0;
}