Day25力扣打卡

打卡记录

寻找旋转排序数组中的最小值(二分)

链接

由于是旋转排序数组,所以整个数组有两部分是递增的,选取右侧最后元素,即可将整个数组分为大于该元素和小于该元素,碰头地段即为最小值。

cpp 复制代码
class Solution {
public:
    int findMin(vector<int>& nums) {
        int n = nums.size();
        int l = 0, r = n - 1;
        while (l < r) {
            int mid = l + (r - l) / 2;
            if (nums[mid] <= nums[n - 1]) r = mid;
            else l = mid + 1;
        }
        return nums[l];
    }
};
相关推荐
lxyzcm5 分钟前
C++23新特性解析:[[assume]]属性
java·c++·spring boot·c++23
蜀黍@猿24 分钟前
C/C++基础错题归纳
c++
古希腊掌管学习的神26 分钟前
[搜广推]王树森推荐系统笔记——曝光过滤 & Bloom Filter
算法·推荐算法
qystca27 分钟前
洛谷 P1706 全排列问题 C语言
算法
古希腊掌管学习的神32 分钟前
[LeetCode-Python版]相向双指针——611. 有效三角形的个数
开发语言·python·leetcode
浊酒南街33 分钟前
决策树(理论知识1)
算法·决策树·机器学习
雨中rain39 分钟前
Linux -- 从抢票逻辑理解线程互斥
linux·运维·c++
就爱学编程41 分钟前
重生之我在异世界学编程之C语言小项目:通讯录
c语言·开发语言·数据结构·算法
学术头条1 小时前
清华、智谱团队:探索 RLHF 的 scaling laws
人工智能·深度学习·算法·机器学习·语言模型·计算语言学
Schwertlilien1 小时前
图像处理-Ch4-频率域处理
算法