CodeCollection icon indicating copy to clipboard operation
CodeCollection copied to clipboard

Find Minimum in Rotated Sorted Array.cpp (Leetcode)

Open Adityaarora08 opened this issue 4 years ago • 0 comments

class Solution { public: int findMin(vector& nums) { int r = nums.size()-1, l = 0, mid; if (!r) return nums[0]; // only one element

    while (l < r)
    {
        mid = l + (r - l) / 2;

        // got a part that is not rotated
        if (nums[l] < nums[r]) 
            return nums[l]; 

        // mid is larger than right - min is in right side
        else if (nums[mid] > nums[r]) 
            l = mid + 1;

        // mid is smaller than right - min is in left side (including mid)
        else 
            r = mid;
    }
    return nums[l];
}

};

Adityaarora08 avatar Oct 14 '21 05:10 Adityaarora08