题解 | #牧场奶牛集合区域#
牧场奶牛集合区域
https://www.nowcoder.com/practice/89218acf98234315af1cb3a223935318
所用语言
Java
所用知识
数组
解题思路
创建list存入区间值,lissts存入list 从左到右遍历,如果不等于前一位加一,则放入数组中,并把数组list置空 最后一位不管如何放入数组中 最后放入普通二维数组中,并返回
完整代码
public int[][] findGatheringAreas (int[] groups, int n) {
// write code here
ArrayList<ArrayList<Integer>> lists = new ArrayList<>();
ArrayList<Integer> list = new ArrayList<>();
int left = groups[0], right = 0;
list.add(left);
for (int i = 1; i < n; i++) {
right = groups[i];
left = groups[i - 1];
if (right != left + 1) {
list.add(left);
lists.add(list);
list = new ArrayList<>();
list.add(right);
}
if (i == n - 1) {
list.add(right);
lists.add(list);
}
}
int[][] res = new int[lists.size()][2];
for (int i = 0; i < lists.size(); i++) {
for (int j = 0; j < 2; j++) {
res[i][j] = lists.get(i).get(j);
}
}
return res;
}
#牧场奶牛集合区域#