Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit fe6dce6

Browse files
✨update: Modify 540
1 parent 3ec61ad commit fe6dce6

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

‎LeetCode/531-540/540. 有序数组中的单一元素(中等).md‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ Tag : 「二分」、「异或」
3838
或是利用单个元素只有一个(其余成对出现),从头到尾异或一遍,最终结果为单一元素值。
3939

4040
代码:
41-
```Java []
41+
```Java
4242
class Solution {
4343
public int singleNonDuplicate(int[] nums) {
4444
int n = nums.length;
@@ -50,7 +50,7 @@ class Solution {
5050
}
5151
```
5252
-
53-
```Java []
53+
```Java
5454
class Solution {
5555
public int singleNonDuplicate(int[] nums) {
5656
int ans = 0;
@@ -74,9 +74,9 @@ class Solution {
7474

7575
存在这样的二段性,指导我们根据当前二分点 $mid$ 的奇偶性进行分情况讨论:
7676

77-
* $mid$ 为偶数下标:根据上述结论,正常情况下偶数下标会与下一值相同,因此如果满足该条件,可以确保 $mid$ 之前并没有插入单一元素。正常情况下,此时应该更新 $l = mid,ドル否则应当让 $r = mid - 1,ドル但需要注意这样的更新逻辑,会因为更新 $r$ 时否决 $mid$ 而错过答案,我们可以将否决 $mid$ 的动作放到更新 $l$ 的一侧,即需要将更新逻辑修改为 $l = mid + 1$ 和 $r = mid$ ;
77+
* $mid$ 为偶数下标:根据上述结论,正常情况下偶数下标的值会与下一值相同,因此如果满足该条件,可以确保 $mid$ 之前并没有插入单一元素。正常情况下,此时应该更新 $l = mid,ドル否则应当让 $r = mid - 1,ドル但需要注意这样的更新逻辑,会因为更新 $r$ 时否决 $mid$ 而错过答案,我们可以将否决 $mid$ 的动作放到更新 $l$ 的一侧,即需要将更新逻辑修改为 $l = mid + 1$ 和 $r = mid$ ;
7878

79-
* $mid$ 为奇数下标:同理,根据上述结论,正常情况下偶数下标会与上一值相同,因此如果满足该条件,可以确保 $mid$ 之前并没有插入单一元素,相应的更新 $l$ 和 $r$。
79+
* $mid$ 为奇数下标:同理,根据上述结论,正常情况下奇数下标的值会与上一值相同,因此如果满足该条件,可以确保 $mid$ 之前并没有插入单一元素,相应的更新 $l$ 和 $r$。
8080

8181
代码:
8282
```Java
@@ -109,7 +109,7 @@ class Solution {
109109

110110
而这样的「连续段 偶奇 两两成对」的组合,适合使用「异或」来找相应的成组对象。
111111

112-
实际上,该技巧广泛地应用在:**使用邻接表(链式向前星)存无向图时,直接访问「当前边 $e$」所对应的「反向边 $e'$」。这也是为什么在「链式向前星」中我们只需要使用「单链表」并设定 $idx$ 从 0ドル$ 开始进行存图即可:能够满足遍历所有出边,同时如果有访问相应反向边的需求,只需要通过 `e[i^1]` 访问即可**
112+
实际上,该技巧广泛地应用在图论存图中:**使用邻接表(链式向前星)存无向图时,直接访问「当前边 $e$」所对应的「反向边 $e'$」。这也是为什么在「链式向前星」中我们只需要使用「单链表」并设定 $idx$ 从 0ドル$ 开始进行存图即可:能够满足遍历所有出边,同时如果有访问相应反向边的需求,只需要通过 `e[i^1]` 访问**
113113

114114
对这种存图方式不熟悉的同学,可以看前置 🧀:[涵盖所有的「存图方式」与「最短路算法(详尽注释)」](https://mp.weixin.qq.com/s?__biz=MzU4NDE3MTEyMA==&mid=2247488007&idx=1&sn=9d0dcfdf475168d26a5a4bd6fcd3505d&chksm=fd9cb918caeb300e1c8844583db5c5318a89e60d8d552747ff8c2256910d32acd9013c93058f&token=381012359&lang=zh_CN#rd)
115115

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /