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

牧场奶牛集合区域

https://www.nowcoder.com/practice/89218acf98234315af1cb3a223935318

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param groups int整型一维数组 
     * @param n int整型 
     * @return int整型二维数组
     */
    public int[][] findGatheringAreas (int[] groups, int n) {
        int[][] res=new int[n][2];
        int left=0,right=0;
        boolean flag=true; //未确定左元素
        int k=0;
        if(groups[0]+1!=groups[1]){
            res[k][0]=groups[0];
            res[k++][1]=groups[0];
        }
        for(int i=1;i<n;i++){
            if(i!=n-1&&groups[i]!=groups[i-1]+1&&groups[i]!=groups[i+1]-1){ //单独,左右都不连续
                flag=true;
                res[k][0]=groups[i];
                res[k++][1]=groups[i];
            }else if(groups[i]==groups[i-1]+1&&flag){     //连续,未确定左元素
                left=groups[i-1];
                flag=false;
            }else if(i!=n-1&&groups[i]==groups[i-1]+1&&!flag&&groups[i]+1!=groups[i+1]){ //连续,已确定左元素
                right=groups[i];
                flag=true;
                res[k][0]=left;
                res[k++][1]=right;
                System.out.println(left+" === "+right);
            }else if(groups[i]!=groups[i-1]+1&&!flag){     //不连续,已确定左元素
                right=groups[i-1];
                flag=true;
                res[k][0]=left;
                res[k++][1]=right;
            }else if(groups[i]!=groups[i-1]+1&&flag){   //不连续,未确定左元素
                left=groups[i];
                flag=false;
            }
        }
        if(groups[n-1]!=groups[n-2]+1){
            res[k][0]=groups[n-1];
            res[k++][1]=groups[n-1];
        }else {
             right=groups[n-1];
             res[k][0]=left;
             res[k++][1]=right;
        }
        int[][] res2=new int[k][2];
        for(int i=0;i<k;i++){
            res2[i][0]=res[i][0];
            res2[i][1]=res[i][1];
        }
        return res2;
    }
}

全部评论

相关推荐

像好涩一样好学:这公司我也拿过 基本明确周六加班 工资还凑活 另外下次镜头往上点儿
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务