classSolution { public: intfindMin(vector<int>& nums){ if (nums.empty()) return-1; int n = nums.size() - 1; //特判 while (nums[0] == nums[n]) {n--;} //特判 if (nums[0] <= nums[n]) { return nums[0]; } //二分模版 int l = 0, r = n; while (l < r) { int mid = l + r >> 1; if (nums[0] > nums[mid]) r = mid; else l = mid + 1; } return nums[r]; } };