剑指 Offer 11. 旋转数组的最小数字-7月22日
2021-04-11 08:28
标签:solution 直接 -- number mina 条件判断 loading 查找 question 显然用二分查找,时间复杂度logn,最坏情况可能达到n。 要注意二分查找的边界条件判断,以及如果无法判断此次二分是取左或者去右时,可以尝试把上边界下标减1,再重新二分(安全地缩小边界)。 为什么官方的二分法的题解很多都是写的 (high + low) 在两者较大时会发生整型越界! 剑指 Offer 11. 旋转数组的最小数字-7月22日 标签:solution 直接 -- number mina 条件判断 loading 查找 question 原文地址:https://www.cnblogs.com/BoysCryToo/p/13360650.html题目
剑指 Offer 11. 旋转数组的最小数字
我的思路
我的实现
class Solution {
public:
int minArray(vectorint>& numbers) {
int low = 0;
int high = numbers.size()-1;
int s;
while(low!=high){
s = low + (high - low)/2;
if(numbers[high]>numbers[low]) return numbers[low];
else if(numbers[high]
拓展学习
low + (high - low) // 2
而不是 (high + low) // 2?
文章标题:剑指 Offer 11. 旋转数组的最小数字-7月22日
文章链接:http://soscw.com/index.php/essay/74187.html