We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 338cff9 commit 677c9baCopy full SHA for 677c9ba
540-single-element-in-a-sorted-array/single-element-in-a-sorted-array.cpp
@@ -0,0 +1,23 @@
1
+class Solution {
2
+public:
3
+ int singleNonDuplicate(vector<int>& arr) {
4
+ int n = arr.size();
5
+ if (n == 1) return arr[0];
6
+ if (arr[0] != arr[1]) return arr[0];
7
+ if (arr[n - 1] != arr[n - 2]) return arr[n - 1];
8
+ int low = 1, high = n - 2;
9
+ while (low <= high) {
10
+ int mid = low + (high - low) / 2;
11
+ if (arr[mid] != arr[mid + 1] && arr[mid] != arr[mid - 1]) {
12
+ return arr[mid];
13
+ }
14
+ if ((mid % 2 == 1 && arr[mid] == arr[mid - 1]) || (mid % 2 == 0 && arr[mid] == arr[mid + 1])) {
15
+ low = mid + 1;
16
17
+ else {
18
+ high = mid - 1;
19
20
21
+ return -1;
22
23
+};
0 commit comments