class Solution {
public int missingNumber(int[] nums) {
int rs=1;
List<Integer> list=new ArrayList<>();
for (Integer num : nums) {
list.add(num);
}
Collections.sort(list);
if (nums.length==1){
if (list.contains(1)) return 0;
else return 1;
}
if (list.size()==2){
if (!(list.contains(2))){
return 2;
}else if(!(list.contains(1))){
return 1;
}else {
return 0;
}
}
for (int i = 0; i < list.size(); i++) {
if (list.get(0)==0){
if (list.get(list.size()-1)==list.size()-1){
rs=list.size();
break;
}
if (list.get(i)-i!=0){
rs=i;
break;
}
}else {
if (list.get(list.size()-1)==list.size()){
rs=0;
break;
}
if (list.get(i)-i!=1){
rs=i+1;
break;
}
}
}
return rs;
}
}
示例算法:
class Solution {
public int missingNumber(int[] nums) {
int sum = 0;
for(int num : nums) {
sum += num;
}
return (nums.length + 1) * (nums.length + 0) / 2 - sum;
}
}