当前位置:首页 > 未命名 > 正文内容

第一个缺失正数

淙嶙5年前 (2020-07-21)未命名633

描述


给出一个无序的数列,找出其中缺失的第一个正数,要求复杂度为 O(n)
如:[1,2,0],第一个缺失为3。
如:[3,4,-1,1],第一个缺失为2。


输入


1,2,0


输出


3


输入样例

1,2,0
3,4,-1,1
-1,-3,-5
1,2,3
-1,-10,0

输出样例

3
2
1
4
1


private static String solution(String line) {
    // 在此处理单行数据
  String[] a = line.split(",");
Set set = new HashSet();
for (int i = 0; i< a.length;i++){
int n = Integer.parseInt(a[i]);
if (n > 0){
set.add(n);
}
}
int result = 0;
for(int i=1; i<= a.length+1 ;i++){
if(!set.remove(i)){
result = i;
break;
}
}
   // 返回处理后的结果
   return String.valueOf(result);
}

相关文章

关于java.lang.UnsupportedOperationException异常

关于java.lang.UnsupportedOperationException异常

在调用Arrays.asList()方法时把一个数组转化成List列表时,对得到的List列表进行add()和remove()操作时出现java.lang.UnsupportedOperationEx...

...

出现频率最高的前 K 个元素

出现频率最高的前 K 个元素

描述 有一个不为空且仅包含正整数的数组,找出其中出现频率最高的前 K 个数,时间复杂度必须在 O(n log n) 以内。 输入 一行数据包括两部分,一个正整数数组(数字间 ',' 分隔)和一个正整...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。