看了地哥写的一篇算法推荐,理解后自己把代码写出来,记录一下:
参考:https://mp.weixin.qq.com/s/neUHYvXoBTM08xv2I37i2w
原题:
给你一串未排序的整数,找出不在其中的最小整数,如输入 1 2 0,输出 3
以下是代码实现:
package MyQuestion;
import java.util.Scanner;
public class Leecode1 {
public static void main(String[] args){
Scanner in=new Scanner(System.in);
int n=in.nextInt();
for(int i=0;i<n;i++)
func(in);
}
static void func(Scanner in){
int num=in.nextInt();
int[] list=new int[num+1];
int[] list1=new int[num];
for(int i=0;i<num;i++){
list[i]=in.nextInt();
if(list[i]>=1&&list[i]<=num){
list1[list[i]-1]=list[i];
}
}
for(int i=0;i<num;i++){
if(list1[i]==0){
System.out.println(i+1);
break;
}
}
}
}