/* 二分查找,将 nums[m] 和 nums[r] 进行比较,如果前者大于后者,代表 [l, m] 升序,(m, r] 降序,因此在(m, r] 中查找,如果前者小于后者,说明(m, r] 升序,在 [l, m] 中查找,如果前者等于后者,则表示 [m, r] 中存在相等的值,最小值也在该范围 */ int minNumberInRotateArray(vector<int>& nums) { int l = 0, r = nums.size() - 1; while (l < r) { int m = l + (r - l) / 2; if (num...