二分法那里,“若是区间中点值小于区间右界值,则最小的数字一定在中点左边。”既然是这样,为什么if(nums[mid] < nums[right])时,不能写right = mid - 1;为什么最小数在区间[left,mid]里,不是区间[left,mid -1]?我要是写right = mid - 1;不通过,给了一个错误的例子[1,0,1,1,1],但是这个例子并不符合题目的数组要求啊,题目说给一个非递减的数组进行旋转,还说旋转是把数组前若干个元素放到数组末尾,那这个例子怎么会是这样?1后面是0?
点赞

相关推荐

10-09 09:39
门头沟学院 C++
HHHHaos:这也太虚了,工资就一半是真的
点赞 评论 收藏
分享
牛客网
牛客企业服务