diff --git a/Search in Rotated Sorted Array/CppSolutionSearchInRotatedSortedArray.cpp b/Search in Rotated Sorted Array/CppSolutionSearchInRotatedSortedArray.cpp new file mode 100644 index 0000000..deab93a --- /dev/null +++ b/Search in Rotated Sorted Array/CppSolutionSearchInRotatedSortedArray.cpp @@ -0,0 +1,40 @@ +class Solution { +public: + int search(vector& nums, int target) { + + int low = 0, high = nums.size()-1; + while(low <= high) { + + int mid = (low+high)/2; + + if(nums[mid] == target) { + + return mid; + } + if(nums[low] <= nums[mid]) { + + if(target >= nums[low] && target <= nums[mid]) { + + high = mid - 1; + } + else { + + low = mid + 1; + } + } + else { + + if(target >= nums[mid] && target <= nums[high]) { + + low = mid + 1; + } + else { + + high = mid-1; + } + } + } + + return -1; + } +};