程序查找Python中最长连续序列的长度
假设我们有一个未排序的数字数组,我们必须找到连续元素的最长序列的长度。
因此,如果输入类似于nums=[70、7、50、4、6、5],则输出为4,因为连续元素的最长序列为[4、5、6、7]。所以我们返回它的长度:4。
为了解决这个问题,我们将遵循以下步骤-
nums:=nums的所有唯一元素
max_cnt:=0
对于以num为单位的每个num
cnt:=0
当num以num的形式出现时,
max_cnt:=max_cnt和cnt的最大值
num:=num+1
cnt:=cnt+1
如果num-1不是以num为单位,则
返回max_cnt
让我们看下面的实现以更好地理解-
示例
class Solution:
def solve(self, nums):
nums = set(nums)
max_cnt = 0
for num in nums:
if num - 1 not in nums:
cnt = 0
while num in nums:
num += 1
cnt += 1
max_cnt = max(max_cnt, cnt)
return max_cnt
ob = Solution()nums = [70, 7, 50, 4, 6, 5]
print(ob.solve(nums))输入值
[70, 7, 50, 4, 6, 5]
输出结果
4
热门推荐
10 钢琴人祝福语女生简短
11 岗位考试顺利祝福语简短
12 关于老师蛋糕祝福语简短
13 娘家妈妈新婚祝福语简短
14 生日留言简短祝福语大全
15 祝福语诗意文案简短
16 校长退休文案祝福语简短
17 宝子生日祝福语简短
18 寒露祝福语毕业寄语简短