一句话思路:反正只是寻找一个最小区间,断开也能二分.根据m第一次的落点,来分情况讨论. 一刷报错: 结构上有根本性错误:应该是while里面包括if,不然会把代码重复写两遍,不好. //situation1 if (nums[mid] > nums[start]) { while (start + 1 < mid) { mid = start + (end - start) / 2; if (nums[mid] == target) { return mid; } else if (nums[…