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

牧场奶牛集合区域

https://www.nowcoder.com/practice/89218acf98234315af1cb3a223935318?tpId=354&tqId=10589478&ru=/exam/oj/ta&qru=/ta/interview-202-top/question-ranking&sourceUrl=%2Fexam%2Foj%2Fta%3FtpId%3D354

知识点:简单模拟

解题思路:

用一个start来表示一个区域的开始,然后遍历数组,当 当前位置不等于前一个位置+1的时候,就说明进入了一个新的区域,就将前面一个区域存入res,同时更新新区域的start,由于更新是具有延后性的,所以在遍历的时候,最后一块区域没办法加进res,需要手动加入。

package main

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param groups int整型一维数组 
 * @param n int整型 
 * @return int整型二维数组
*/
func findGatheringAreas( groups []int ,  n int ) [][]int {
    // write code here
    res:=[][]int{}
    start:=0
    for i,v:=range groups{
        if i!=0{
            if groups[i-1]+1!=v{
                res = append(res, []int{groups[start],groups[i-1]})
                start=i
            }
        }
    }
    res = append(res, []int{groups[start],groups[n-1]})
    return res
}

全部评论

相关推荐

09-25 23:37
已编辑
桂林电子科技大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务