LintCode:最长连续序列
题目要求O(n)复杂度,我这个算法虽然通过了,但是排序操作至少就是O(nlgn)的复杂度了,额,还得再想想。
class Solution:
"""
@param num, a list of integer
@return an integer
"""
def longestConsecutive(self, num):
if not num:
return
num = sorted(list(set(num)))
ans =
1
tmp =
1
for i
in range(
1, len(num)):
if num[i] - num[i-
1] ==
1 or num[i] - num[i-
1] ==
0:
tmp +=
1
else:
tmp =
1
ans = max(ans, tmp)
return ans
转载请注明原文地址: https://ju.6miu.com/read-1122721.html