leetcode 153

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

这道题,如果我们熟悉数组 api,可以直接用 Arrays.sort()秒杀,这个方法使用了双轴快速排序算法。

解法1如下:

java 复制代码
class Solution {
    public int findMin(int[] nums) {
        Arrays.sort(nums);
        return nums[0];    
    }
}

第二种解法看到时间复杂度为O(log^n)我们第一时间应该想到二分查找,

java 复制代码
class Solution {
    public int findMin(int[] nums) {
        int left = 0;
        int right = nums.length - 1;  
        while (left < right){
            int mid = left + (right - left) / 2;
            if(nums[mid] > nums[right]) {
                left = mid + 1;
            } else{
                right = mid;
            }
        }
        return nums[left];
    }
}

通过不断收缩查询区间范围来快速找到想要的数据,解决方法如下:

相关推荐
2401_831920747 分钟前
C++中的桥接模式
开发语言·c++·算法
m0_743470379 分钟前
C++中的桥接模式变体
开发语言·c++·算法
gulinigar14 分钟前
C++中的观察者模式实战
开发语言·c++·算法
星空露珠15 分钟前
迷你世界UGC3.0脚本Wiki对象模块管理接口 GameObject
开发语言·数据库·算法·游戏·lua
困死,根本不会16 分钟前
蓝桥杯 Python 备考全攻略:从入门到进阶的学习路线
笔记·python·学习·算法·蓝桥杯
油泼辣子多加21 分钟前
【ML】SVM算法原理
人工智能·算法·机器学习·支持向量机·数据挖掘
Irissgwe27 分钟前
二叉树进阶,map和set
数据结构·算法
郝学胜-神的一滴44 分钟前
深度学习入门基石:PyTorch张量核心技术全解析
人工智能·pytorch·python·深度学习·算法·机器学习
Frostnova丶1 小时前
(10)LeetCode 560. 和为K的子数组
算法·leetcode·哈希算法
AI专业测评1 小时前
2026年AI写作软件底层技术全景解析:长篇AI写网文的工程化实践与AI消痕算法基准测试
人工智能·算法·ai写作