码迷,mamicode.com
首页 > 其他好文 > 详细

3、求一个无序列表中最大长度的连续自然数

时间:2020-04-24 12:56:50      阅读:59      评论:0      收藏:0      [点我收藏+]

标签:sorted   自然数   app   append   结果   rate   def   class   nbsp   

 一个列表中全是自然数,是无序的,计算这个列表中最大长度的连续自然数。比如[1,5,7,9,12,17,,6,6],返回结果为 [5,6,7]

def get_longest_num(list1):
	longest_num = []
	long_tmp = []
	flag = True
	longth = 1
	last_longest = 0
	list1 = sorted(list1)
	for j, i in enumerate(list1):
		
		if(flag):
			num_start = i
			flag = False

		if(i == list1[j-1] and j!=len(list1)-1):
			continue
		elif(list1[j-1] == i-1):
			long_tmp.append(i)
		if(list1[j-1] != i-1 or j == len(list1)-1):
			if(longth>last_longest):
				longest_num = []
				longest_num.append(long_tmp)
			elif(longth==last_longest and longth != 0):
				longest_num.append(long_tmp)
			
			long_tmp = []
			long_tmp.append(i)
			last_longest = longth if(longth>last_longest) else last_longest
			longth = 1
			num_start = i
		
		longth = longth + 1
	print(longest_num)

get_longest_num([0,1,2,5,6,6,6,7,7])

  

 

def get_longest_num(list1):longest_num = []long_tmp = []flag = Truelongth = 1last_longest = 0list1 = sorted(list1)for j, i in enumerate(list1):if(flag):num_start = iflag = False
if(i == list1[j-1] and j!=len(list1)-1):continueelif(list1[j-1] == i-1):long_tmp.append(i)if(list1[j-1] != i-1 or j == len(list1)-1):if(longth>last_longest):longest_num = []longest_num.append(long_tmp)elif(longth==last_longest and longth != 0):longest_num.append(long_tmp)long_tmp = []long_tmp.append(i)last_longest = longth if(longth>last_longest) else last_longestlongth = 1num_start = ilongth = longth + 1print(longest_num)
get_longest_num([0,1,2,5,6,6,6,7,7])

3、求一个无序列表中最大长度的连续自然数

标签:sorted   自然数   app   append   结果   rate   def   class   nbsp   

原文地址:https://www.cnblogs.com/yahutiaotiao/p/12766706.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!