Skip to content

Commit e62044c

Browse files
authored
Update 540-single-element-in-a-sorted-array.js
1 parent 218ba28 commit e62044c

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

540-single-element-in-a-sorted-array.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,24 @@ const singleNonDuplicate = function(nums) {
1515

1616
// another
1717

18+
/**
19+
* @param {number[]} nums
20+
* @return {number}
21+
*/
22+
const singleNonDuplicate = function(nums) {
23+
const n = nums.length
24+
let left = 0, right = n - 1
25+
while(left < right) {
26+
const mid = ~~((left + right) / 2)
27+
if((mid % 2 === 0 && nums[mid] === nums[mid + 1]) || (mid % 2 === 1 && nums[mid] === nums[mid - 1])) left = mid + 1
28+
else right = mid
29+
}
30+
31+
return nums[left]
32+
};
33+
34+
// another
35+
1836
/**
1937
* @param {number[]} nums
2038
* @return {number}

0 commit comments

Comments
 (0)