题解 | #牧场奶牛集合区域#
牧场奶牛集合区域
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

查看24道真题和解析