背景
记录下最近遇见的笔试题,记录一下,可供大家可以参考,提醒我平时没事可以看看算法的题目,题目如下
题目
1.功能:输入任意一个整数数组,得到想要的数组输出;
(如下是两个case):
1)输入数组:[1,2,3,4,5,7,8] ==>输出数组:[“1->5”,”7->8”]
2)输入数组:[1,4,5,6,9,10]==>输出数组:[“1”,”4->6”,”9->10”]
请理解case中的输出规则,写一个函数实现如上功能;
解析:先理解题目,其实就是数组内的连续数据进行分组,那么有什么可以做,python有groupby可以对数据进行分组,具体写法如下:
from itertools import groupby
lst = [1,4,5,6,9,10] # 连续数字
lst_new = []
fun = lambda x: x[1] - x[0]
for k, g in groupby(enumerate