Skip to content

Commit b964983

Browse files
committed
Create: 0540 - Single Element in a Sorted Array (ts,js,cpp)
1 parent 7224082 commit b964983

File tree

3 files changed

+60
-0
lines changed

3 files changed

+60
-0
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
// Time complexity: O(log n)
2+
// Space complexity: O(1)
3+
4+
class Solution
5+
{
6+
public:
7+
int singleNonDuplicate(vector<int> &nums)
8+
{
9+
int left = 0, right = nums.size() - 2;
10+
while (left <= right)
11+
{
12+
int mid = (left + right) >> 1;
13+
if (nums[mid] == nums[mid ^ 1])
14+
{
15+
left = mid + 1;
16+
}
17+
else
18+
{
19+
right = mid - 1;
20+
}
21+
}
22+
return nums[left];
23+
}
24+
};
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
// Time Complexity: O(log n)
2+
// Space Complexity: O(1)
3+
4+
/**
5+
* @param {number[]} nums
6+
* @return {number}
7+
*/
8+
var singleNonDuplicate = function (nums) {
9+
let l = 0,
10+
r = nums.length - 2;
11+
12+
while (l <= r) {
13+
const m = (l + r) >> 1;
14+
15+
if (nums[m] === nums[m ^ 1]) l = m + 1;
16+
else r = m - 1;
17+
}
18+
19+
return nums[l];
20+
};
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
// Time Complexity: O(log n)
2+
// Space Complexity: O(1)
3+
4+
function singleNonDuplicate(nums: number[]): number {
5+
let l = 0,
6+
r = nums.length - 2;
7+
8+
while (l <= r) {
9+
const m = (l + r) >> 1;
10+
11+
if (nums[m] === nums[m ^ 1]) l = m + 1;
12+
else r = m - 1;
13+
}
14+
15+
return nums[l];
16+
}

0 commit comments

Comments
 (0)