diff --git a/cpp/704-Binary-Search.cpp b/cpp/704-Binary-Search.cpp new file mode 100644 index 000000000..643151ef5 --- /dev/null +++ b/cpp/704-Binary-Search.cpp @@ -0,0 +1,23 @@ +class Solution { +public: + int search(vector& nums, int target) { + int n = nums.size(); + if (nums[0] == target) return 0; + if (nums[n-1] == target) return n-1; + + int start = 0, end = n-1; + + while (start < end) { + int mid = start + (end-start)/2; + if (nums[mid] == target) return mid; + if (nums[mid] > target) { + end = mid; + } + else { + start = mid + 1; + } + } + + return -1; + } +}; \ No newline at end of file