题解 | #牧场奶牛集合区域#
牧场奶牛集合区域
https://www.nowcoder.com/practice/89218acf98234315af1cb3a223935318
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param groups int整型一维数组 # @param n int整型 # @return int整型二维数组 # class Solution: def findGatheringAreas(self , groups: List[int], n: int) -> List[List[int]]: # write code here if n == 0: return [] cur =[groups[0], groups[0]] new_groups = [] # 用队首的数字和队尾的数字+1作为遍历区间 for i in range(groups[0], groups[-1] + 1): # 如果当前数字在数组里,则判断当前区间是否为空,不为空则更新区间上限,否则将当前数字设置为新的区间 if i in groups: if len(cur) == 0: cur.append(i) cur.append(i) else: cur[1] = i else: # 当前数字不在数组里,说明之前的区间断掉了,将区间加入结果数组 if cur != []: new_groups.append(cur) cur = [] # 遍历结束可能还有最后的区间没有放进来,需要判断一下 if len(cur) > 0: new_groups.append(cur) #print(new_groups) return new_groups