File tree Expand file tree Collapse file tree 1 file changed +13
-9
lines changed
Algorithms/0759.set-intersection-size-at-least-two Expand file tree Collapse file tree 1 file changed +13
-9
lines changed Original file line number Diff line number Diff line change @@ -24,19 +24,23 @@ func intersectionSizeTwo(intervals [][]int) int {
2424 n := len (intervals )
2525
2626 for i := 1 ; i < n ; i ++ {
27- curr := intervals [i ]
28- if left < curr [0 ] && curr [0 ] <= right {
27+ a , b := intervals [i ][0 ], intervals [i ][1 ]
28+ // 当 b == intervals[i-1][1] 什么都没有发生
29+ // 只有出现了新 b 时,才需要讨论
30+ // 根据排序规则
31+ // left < a 意味着出现了新 b
32+ if left < a && a <= right {
2933 res ++
30- // 原先的 left 没有包含在 curr 中
34+ // 原先的 left 没有包含在 intervals[i] 中
3135 // 新 left = right
3236 left = right
33- // 新 right = curr [1]
34- right = curr [ 1 ]
35- } else if curr [ 0 ] > right {
36- // left 和 right 都没有包含在 curr 中
37+ // 新 right = intervals[i] [1]
38+ right = b
39+ } else if right < a {
40+ // left 和 right 都没有包含在 intervals[i] 中
3741 res += 2
38- left = curr [ 1 ] - 1
39- right = curr [ 1 ]
42+ left = b - 1
43+ right = b
4044 }
4145 }
4246
You can’t perform that action at this time.
0 commit comments