Skip to content

Commit 777cdca

Browse files
committed
add
1 parent 2ea4647 commit 777cdca

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed
+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
// Time: O(logn)
2+
// Space: O(1)
3+
4+
class Solution {
5+
public:
6+
int singleNonDuplicate(vector<int>& nums) {
7+
int left = 0, right = nums.size() - 1;
8+
while (left <= right) {
9+
auto mid = left + (right - left) / 2;
10+
if (!(mid % 2 == 0 && mid + 1 < nums.size() &&
11+
nums[mid] == nums[mid + 1]) &&
12+
!(mid % 2 == 1 && nums[mid] == nums[mid - 1])) {
13+
right = mid - 1;
14+
} else {
15+
left = mid + 1;
16+
}
17+
}
18+
return nums[left];
19+
}
20+
};
21+

0 commit comments

Comments
 (0)