File tree Expand file tree Collapse file tree 3 files changed +51
-0
lines changed
solution/0500-0599/0540.Single Element in a Sorted Array Expand file tree Collapse file tree 3 files changed +51
-0
lines changed Original file line number Diff line number Diff line change 29
29
30
30
<!-- 这里可写通用的实现逻辑 -->
31
31
32
+ 二分法
33
+
32
34
<!-- tabs:start -->
33
35
34
36
### ** Python3**
@@ -74,6 +76,24 @@ class Solution {
74
76
}
75
77
```
76
78
79
+ ### ** TypeScript**
80
+
81
+ ``` ts
82
+ function singleNonDuplicate(nums : number []): number {
83
+ let left = 0 , right = nums .length - 1 ;
84
+ while (left < right ) {
85
+ let mid = (left + right ) >> 1 ;
86
+ if ((mid & 1 ) == 1 ) -- mid ;
87
+ if (nums [mid ] == nums [mid + 1 ]) {
88
+ left = mid + 2 ;
89
+ } else {
90
+ right = mid ;
91
+ }
92
+ }
93
+ return nums [left ];
94
+ };
95
+ ```
96
+
77
97
### ** Go**
78
98
79
99
``` go
Original file line number Diff line number Diff line change @@ -82,6 +82,24 @@ class Solution {
82
82
}
83
83
```
84
84
85
+ ### ** TypeScript**
86
+
87
+ ``` ts
88
+ function singleNonDuplicate(nums : number []): number {
89
+ let left = 0 , right = nums .length - 1 ;
90
+ while (left < right ) {
91
+ let mid = (left + right ) >> 1 ;
92
+ if ((mid & 1 ) == 1 ) -- mid ;
93
+ if (nums [mid ] == nums [mid + 1 ]) {
94
+ left = mid + 2 ;
95
+ } else {
96
+ right = mid ;
97
+ }
98
+ }
99
+ return nums [left ];
100
+ };
101
+ ```
102
+
85
103
### ** Go**
86
104
87
105
``` go
Original file line number Diff line number Diff line change
1
+ function singleNonDuplicate ( nums : number [ ] ) : number {
2
+ let left = 0 , right = nums . length - 1 ;
3
+ while ( left < right ) {
4
+ let mid = ( left + right ) >> 1 ;
5
+ if ( ( mid & 1 ) == 1 ) -- mid ;
6
+ if ( nums [ mid ] == nums [ mid + 1 ] ) {
7
+ left = mid + 2 ;
8
+ } else {
9
+ right = mid ;
10
+ }
11
+ }
12
+ return nums [ left ] ;
13
+ } ;
You can’t perform that action at this time.
0 commit comments