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

最长连续数列

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

描述


输入一个乱序的连续数列,输出其中最长连续数列长度,要求算法复杂度为  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);
}

相关文章

MyBatis源码解读--从入口类SqlSessionFactoryBuilder出发

MyBatis源码解读--从入口类SqlSessionFactoryBuilder出发

先摘抄一段MyBatis官方文档代码: String resource = "org/mybatis/example/mybatis-config.xml"; InputStream inputStr...

Dubbo的依赖(二)

Dubbo的依赖(二)

dubbo官网文档:http://dubbo.apache.org/#/docs/dependencies.md?lang=zh-cn转自动dubbo官方文档依赖必须依赖JDK 1.6+ [...

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

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

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

发表评论

访客

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