Time Cost

13min46s

Code

  • My Solution
    class Solution {
    public:
      int findMin(vector<int>& nums) {
          int base = 0, ceil = nums.size() - 1;
          int index = (base + ceil) / 2;
          int minimum = min(nums[base], nums[ceil]);
    
          while (base <= ceil) {
              minimum = min(minimum, min(nums[index], min(nums[base], nums[ceil])));
              if (nums[index] < nums[base]) {
                  ceil = index - 1;
                  index = (base + ceil) / 2;
              }else {
                  base = index + 1;
                  index = (base + ceil) / 2;
              }
          }
    
          return minimum;
      }
    };