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

第一个缺失正数

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

描述


给出一个无序的数列,找出其中缺失的第一个正数,要求复杂度为 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);
}

相关文章

设计模式是什么鬼

设计模式是什么鬼

设计模式是什么鬼?“世界处处不设计”有物混成,先天地生。寂兮寥兮,独立而不改,周行而不殆,可以为天地母。吾不知其名,字之曰道,强为之名曰大。大曰逝,逝曰远,远曰反。道是什么?道可道,非常道。道不明,说...

Dubbo到底如何读?

Dubbo到底如何读?

一个不必计较的问题,可是总有人想追个究竟,有人读“杜博”,有人读“达博”,今天查询了下,百度翻译成“杜博”,而google、有道、金山词霸翻译成“达博”。从这方面看还是“达博”更被翻译软件支持。个人还...

sonarqube安装使用

sonarqube安装使用

必要条件 JDK8(Oracle JRE8 或者OpenJDK8) 硬件需求,非企业版的要求特别低,直接忽略了,企业版的需要8核CPU、16GBRAM。 支持的平台 JDK:Oracle...

发表评论

访客

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