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

最长连续数列

淙嶙6年前 (2020-07-21)未命名1582

描述


输入一个乱序的连续数列,输出其中最长连续数列长度,要求算法复杂度为  O(n)  。


输入


54,55,300,12,56


输出


3


输入样例

100,4,200,1,3,2
54,55,300,12
1
5,4,3,2,1
1,2,3,4,5,6

输出样例

4
2
1
5
6


private static String solution(String line) {
    // 在此处理单行数据
     // 在此处理单行数据
String[] a = line.split(",");
Set nset = new HashSet();
Set set = new HashSet();
for (int i = 0; i< a.length;i++){
set.add(Integer.parseInt(a[i]));
nset.add(Integer.parseInt(a[i]));
}
Iterator it = nset.iterator();
int result = 0;
while(it.hasNext()){
int temp = 0;
int n = it.next();
int i = n-1;
while(set.remove(i)){
i--;
temp ++;
}
while(set.remove(n)){
n++;
temp ++;
}
result = result >= temp ? result: temp;
}
   // 返回处理后的结果
   return String.valueOf(result);
}

相关文章

sonarqube安装使用

sonarqube安装使用

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

关于我

关于我

人的学习能力是随着努力程度变化的,毅力才是打开成功大门的钥匙 错在止步不前,胜在改变自己 The mistake is to stop, the better is to change yo...

HashMap的源码解读(一)

HashMap的源码解读(一)

/*  * 版权(C)1997, 2010,Oracle和/或其附属公司版权所有。  * Oracle专有/机密。使用须遵守许可条款。  *...

发表评论

访客

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