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

牧场奶牛集合区域

https://www.nowcoder.com/practice/89218acf98234315af1cb3a223935318?tpId=354&tags=&title=&difficulty=0&judgeStatus=0&rp=0&sourceUrl=%2Fexam%2Foj

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param groups int整型一维数组 
     * @param n int整型 
     * @return int整型二维数组
     */
    public int[][] findGatheringAreas (int[] groups, int n) {
        // write code here
        // 给定一个无重复元素的有序整数数组groups
        int count = 1;
        for (int i = 1; i < n; i++) {
            if (groups[i] != groups[i - 1] + 1) {
                count++;
            }
        }
        System.out.print(count);
        int[][] res = new int[count][2];;
        res[0][0] = groups[0];
        int index = 0;
        for (int i = 1; i < n; i++) {
            if (groups[i] != groups[i - 1] + 1) {
                res[index++][1] = groups[i - 1];
                res[index][0] = groups[i];
            }
        }
        res[index][1] = groups[groups.length - 1];
        return res;
    }
}

通过遍历找到断点,断点左边就是上个区域右边界,断点就是下个区域的开始。

通过遍历找到有几个断点,断点数量加1就是总共求的区域总数,也就是返回的二维数组的行数

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-24 12:26
点赞 评论 收藏
分享
水色铃音:可以去找射频相关的岗位,比如圣邦微?或者像做产品的,比如xiaomi,oppovivo之类的,都需要天线调试的工程师
点赞 评论 收藏
分享
陆续:不可思议 竟然没那就话 那就我来吧 :你是我在牛客见到的最美的女孩
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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