Skip to content

Commit 462919e

Browse files
authored
feat: add typescript solution to lc problem: No.0540.Single Element in a Sorted Array (#464)
1 parent 1b9d507 commit 462919e

File tree

3 files changed

+51
-0
lines changed

3 files changed

+51
-0
lines changed

solution/0500-0599/0540.Single Element in a Sorted Array/README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@
2929

3030
<!-- 这里可写通用的实现逻辑 -->
3131

32+
二分法
33+
3234
<!-- tabs:start -->
3335

3436
### **Python3**
@@ -74,6 +76,24 @@ class Solution {
7476
}
7577
```
7678

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+
7797
### **Go**
7898

7999
```go

solution/0500-0599/0540.Single Element in a Sorted Array/README_EN.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,24 @@ class Solution {
8282
}
8383
```
8484

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+
85103
### **Go**
86104

87105
```go
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
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+
};

0 commit comments

Comments
 (0)