LeetCode:67.寻找旋转排序数组中的最小值

目录

1.寻找旋转排序数组中的最小值


1.寻找旋转排序数组中的最小值

通过用一个比较值来判断大小

旋转排序数组符合上面的图,我们用x来表示数组的最后一个元素,如果大于x的话,说明在上半部分的有序区间,如果小于x的话,说明落在了下半部分的有序区间

cpp 复制代码
class Solution {
public:
    int findMin(vector<int>& nums) {
        int n = nums.size();
        int left = 0, right = n - 1;
        int x = nums[right];
        while(left < right)
        {
            int mid = left + (right - left) / 2;
            if(nums[mid] > x)
                left = mid + 1;
            else
                right = mid;
        }
        return nums[left];
    }
};
相关推荐
m0_569881471 分钟前
C++中的智能指针详解
开发语言·c++·算法
blackicexs4 分钟前
第九周第三天
算法
自信1504130575914 分钟前
选择排序算法
c语言·数据结构·算法·排序算法
2401_8735449215 分钟前
基于C++的游戏引擎开发
开发语言·c++·算法
add45a16 分钟前
C++中的组合模式
开发语言·c++·算法
無限進步D17 分钟前
简单贪心算法 cpp
c++·算法·贪心算法·蓝桥杯·入门·竞赛
2501_9454235420 分钟前
模板编程中的SFINAE技巧
开发语言·c++·算法
AMoon丶20 分钟前
Golang--垃圾回收
java·linux·开发语言·jvm·后端·算法·golang
承渊政道21 分钟前
【优选算法】(实战感悟二分查找算法的思想原理)
c++·笔记·学习·算法·leetcode·visual studio code
☆56622 分钟前
C++中的策略模式应用
开发语言·c++·算法