未验证 提交 14af427a 编写于 作者: K kingkong1111 提交者: GitHub

Update区间交集问题Java版本 (#360)

* Update区间交集问题Java版本

* Update区间交集问题Java版本

* Update 区间交集问题.md
上级 a2e0bafb
......@@ -107,9 +107,45 @@ def intervalIntersection(A, B):
![labuladong](../pictures/labuladong.jpg)
[kingkong1111](https://github.com/kingkong1111)提供 Java 代码:
```java
public int[][] intervalIntersection(int[][] A, int[][] B) {
List<int[]> res = new ArrayList<>();
if (A == null || B == null) {
return res.toArray(new int[0][]);
}
// 定义两个指针遍历两个数组
int i =0;
int j =0;
while (i < A.length && j < B.length) {
int a1 = A[i][0];
int a2 = A[i][1];
int b1 = B[j][0];
int b2 = B[j][1];
//1 说明有重合
if (a1 <= b2 && a2 >= b1) {
//2 重合区间:前面的最大值 到 后面的最小值
int start = Math.max(a1, b1);
int end = Math.min(a2, b2);
res.add(new int[]{start, end});
}
//3 哪个区间大,哪个不动,另一个指针动,看是否能扩大重合区间
if (a2 > b2) {
j++;
} else {
i++;
}
}
return res.toArray(new int[0][]);
}
```
[上一篇:区间调度之区间合并问题](../算法思维系列/区间调度问题之区间合并.md)
[下一篇:信封嵌套问题](../算法思维系列/信封嵌套问题.md)
[目录](../README.md#目录)
\ No newline at end of file
[目录](../README.md#目录)
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册