leetcode

Solution to some Leetcode problems written in C++
git clone git://git.dimitrijedobrota.com/leetcode.git
Log | Files | Refs | README | LICENSE

0081.cpp (692B)


0 class Solution {
1 public:
2 bool search(const vector<int> &nums, int target) {
3 int left = 0, right = nums.size() - 1;
4 while (left <= right) {
5 int mid = left + (right - left) / 2;
6 if (nums[mid] == target) return true;
7 if (nums[mid] == nums[left]) {
8 left++;
9 continue;
10 }
12 bool pivotArr = nums[left] <= nums[mid];
13 bool targetArr = nums[left] <= target;
14 if ((pivotArr ^ targetArr) ? (pivotArr) : (nums[mid] < target)) {
15 left = mid + 1;
16 } else {
17 right = mid - 1;
18 }
19 }
21 return false;
22 }
23 };