分析
区间题。
若区间a的右端点小于区间b的左端点则两个区间一定不相交。
若区间a,b相交则相交区域为:左端点的较大值与右端点的较小值之间的区域
class Solution {
public int[][] intervalIntersection(int[][] firstList, int[][] secondList) {
int i = 0, j = 0;
List<int[]> list = new ArrayList<>();
while (i < firstList.length && j < secondList.length) {
int l1 = firstList[i][0];
int r1 = firstList[i][1];
int l2 = secondList[j][0];
int r2 = secondList[j][1];
if (l1 > r2) {
j++;
continue;
}
if (l2 > r1) {
i++;
continue;
}
int a = Math.max(l1,l2);
int b = Math.min(r1,r2);
list.add(new int[]{a,b});
if (r1 < r2) {
i++;
} else {
j++;
}
}
int[][] ans = new int[list.size()][2];
for (int k = 0; k < ans.length; k++){
ans[k][0] = list.get(k)[0];
ans[k][1] = list.get(k)[1];
}
return ans;
}
}