Skip to content

Commit

Permalink
Refactor: 0540 - Single Element in a Sorted Array (ts,js,cpp)
Browse files Browse the repository at this point in the history
  • Loading branch information
AHTHneeuhl committed Jul 13, 2023
1 parent e444a22 commit 742f2b8
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 10 deletions.
9 changes: 5 additions & 4 deletions cpp/0540-single-element-in-a-sorted-array.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,15 @@ class Solution

while (left <= right)
{
int mid = (left + right) >> 1;
if (nums[mid] == nums[mid ^ 1])
int mid1 = (left + right) >> 1;
int mid2 = mid1 ^ 1;
if (nums[mid1] == nums[mid2])
{
left = mid + 1;
left = mid1 + 1;
}
else
{
right = mid - 1;
right = mid1 - 1;
}
}

Expand Down
7 changes: 4 additions & 3 deletions javascript/0540-single-element-in-a-sorted-array.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,11 @@ var singleNonDuplicate = function (nums) {
right = nums.length - 2;

while (left <= right) {
const mid = (left + right) >> 1;
const mid1 = (left + right) >> 1;
const mid2 = mid1 ^ 1;

if (nums[mid] === nums[mid ^ 1]) left = mid + 1;
else right = mid - 1;
if (nums[mid1] === nums[mid2]) left = mid1 + 1;
else right = mid1 - 1;
}

return nums[left];
Expand Down
7 changes: 4 additions & 3 deletions typescript/0540-single-element-in-a-sorted-array.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,11 @@ function singleNonDuplicate(nums: number[]): number {
right = nums.length - 2;

while (left <= right) {
const mid = (left + right) >> 1;
const mid1 = (left + right) >> 1;
const mid2 = mid1 ^ 1;

if (nums[mid] === nums[mid ^ 1]) left = mid + 1;
else right = mid - 1;
if (nums[mid1] === nums[mid2]) left = mid1 + 1;
else right = mid1 - 1;
}

return nums[left];
Expand Down

0 comments on commit 742f2b8

Please sign in to comment.