LeetCode986 区间列表的交集
1. 问题描述


思路
双指针
代码
func intervalIntersection(firstList [][]int, secondList [][]int) [][]int {
var res = make([][]int, 0)
i, j := 0, 0
for i < len(firstList) && j < len(secondList) {
a1, a2 := firstList[i][0], firstList[i][1]
b1, b2 := secondList[j][0], secondList[j][1]
if a2 >= b1 && a1 <= b2 {
temp := []int{max(a1,b1),min(a2,b2)}
// fmt.Printf("%v\n", temp)
res = append(res, temp)
}
if a2 < b2 {
i++
} else {
j++
}
}
return res
}
func max(a, b int) int {
if a < b {
a = b
}
return a
}
func min(a, b int) int {
if a > b {
a = b
}
return a
}
这篇博客详细介绍了LeetCode986题目的解题思路和代码实现,主要使用了双指针方法。通过遍历两个区间列表,找到它们的交集部分,并将其存储到结果列表中。文章提供了具体的代码示例,包括`intervalIntersection`函数,以及辅助的`max`和`min`函数,展示了如何找出并返回两个区间列表的交集。
699

被折叠的 条评论
为什么被折叠?



