Skip to content

Commit d888890

Browse files
authored
Create search-in-a-sorted-array-of-unknown-size.cpp
1 parent 8f709d5 commit d888890

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
// Time: O(logn)
2+
// Space: O(1)
3+
4+
// Forward declaration of ArrayReader class.
5+
class ArrayReader;
6+
7+
class Solution {
8+
public:
9+
int search(const ArrayReader& reader, int target) {
10+
int left = 0, right = 19999;
11+
while (left <= right) {
12+
auto mid = left + (right-left) / 2;
13+
auto response = reader.get(mid);
14+
if (response > target) {
15+
right = mid - 1;
16+
} else if (response < target) {
17+
left = mid + 1;
18+
} else {
19+
return mid;
20+
}
21+
}
22+
return -1;
23+
}
24+
};

0 commit comments

Comments
 (0)