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];
    }
};
相关推荐
l木本I9 小时前
Reinforcement Learning for VLA(强化学习+VLA)
c++·人工智能·python·机器学习·机器人
仙俊红10 小时前
LeetCode322零钱兑换
算法
颖风船10 小时前
锂电池SOC估计的一种算法(改进无迹卡尔曼滤波)
python·算法·信号处理
strive programming10 小时前
Effective C++_异常(解剖挖掘)
c++
551只玄猫10 小时前
KNN算法基础 机器学习基础1 python人工智能
人工智能·python·算法·机器学习·机器学习算法·knn·knn算法
charliejohn10 小时前
计算机考研 408 数据结构 哈夫曼
数据结构·考研·算法
POLITE310 小时前
Leetcode 41.缺失的第一个正数 JavaScript (Day 7)
javascript·算法·leetcode
wregjru10 小时前
【读书笔记】Effective C++ 条款1~2 核心编程准则
java·开发语言·c++