Skip to content

Commit df59ae4

Browse files
authored
Update kth-missing-positive-number.cpp
1 parent c64205b commit df59ae4

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

C++/kth-missing-positive-number.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,23 @@
11
// Time: O(logn)
22
// Space: O(1)
33

4-
54
class Solution {
65
public:
76
int findKthPositive(vector<int>& arr, int k) {
87
int left = 0, right = arr.size() - 1;
98
while (left <= right) {
109
const auto& mid = left + (right - left) / 2;
11-
if (check(arr, k, mid)) {
10+
if (!check(arr, k, mid)) {
1211
right = mid - 1;
1312
} else {
1413
left = mid + 1;
1514
}
1615
}
17-
return left + k; // left ? arr[left - 1] + (k - (arr[left - 1] - ((left - 1) + 1))) : k;
16+
return right + 1 + k; // right >= 0 ? arr[right] + (k - (arr[right] - (right + 1))) : k;
1817
}
1918

2019
private:
2120
bool check(const vector<int>& arr, int k, int x) {
22-
return arr[x] - (x + 1) >= k;
21+
return arr[x] - (x + 1) < k;
2322
}
2423
};

0 commit comments

Comments
 (0)