标签:shm 问题 hash can rgs 输入 str 而且 key
给定一个数组,从 1 到 n,找出数组中第一个没出现的正数。
例如:
给定[1,2,0]
,则返回 3。
给定[3,4,-1,1]
,则返回 2。
注意:算法需要 O(n) 的时间复杂度以及线性的空间复杂度。
第一行输入整数 n(n≤106),接下来一行输入数组A[n]
。
输出第一个没出现的正数。
package javaexam;
import java.util.HashMap;
import java.util.Scanner;
public class UFindInt
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
int n = input.nextInt();
HashMap map = new HashMap();
for(int i = 0; i < n; ++i)
map.put(input.nextInt(), 1);
for(int i = 1; i <= n; ++i) // 此处需要有i=n,否则测试样例一不通过,而且题干是1到n。
{
if(!map.containsKey(i))
{
System.out.println(i);
break;
}
}
}
}
3
1 2 0
3
4
3 4 -1 1
2
标签:shm 问题 hash can rgs 输入 str 而且 key
原文地址:https://www.cnblogs.com/narisu/p/9057885.html