京东2018校招

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huanhuanq1209/article/details/82562321

1、编程题:

至少输入一个数,至多100000个数

要求输入用逗号间隔;

输出要逗号分隔;

输入1,2,3,1,1,2,5,6,7

输出:1-3,5-7

样例2:

输入为:1,3,4

输出为:1,3,4

为什么编完一直是84.5%

if __name__=='__main__':
	s=raw_input();
	lis=s.split(',')
	liset=list(set(lis))
	listint=[int(i)for i in liset]
	listint.sort()
	cache=[]
	l=[]
	q=[]
	l.append(listint[0])
	if len(listint)>1:
		for i in range(1,len(listint)):
			t=listint[i]-1
			if t!=listlint[i-1]:
				if len(l)!=1:
					q.append(min(l))
					q.append(max(l))
					q=[str(i)for i in q]
					cache.append('-'.join(q))
				else:
					cache.append(str(l[0]))
				l=[]
				l.append(listint[i])
			else:
				l.append(listint[i])
		print ','.join(cache)
	else:
		print ','.join([str(i)for i in listint])
	
            

猜你喜欢

转载自blog.csdn.net/huanhuanq1209/article/details/82562321