题解 | #牧场奶牛集合区域#

牧场奶牛集合区域

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

全部评论

相关推荐

我是小红是我:学校换成中南
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务