【LeetCode热题100】--153.寻找旋转排序数组中的最小值

news2025/2/1 17:53:37

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

image-20231005103803491

由于该排序数组经由1到n次旋转,所以旋转后的数组折线图为:

image-20231005103859913

最小值处于中间,同时对于最后一个元素x:在最小值右侧的元素,它们的值一定严格小于x,而在最小值左侧的元素,它们的值一定严格大于x,因为是旋转数组,旋转后的最后一个值小于第一个值

因此可以使用二分查找:

第一种情况:
nums[mid] < nums[high]:说明nums[mid]是最小值右侧的元素

image-20231005104612190

第二种情况:

nums[mid] > nums[high]:说明nums[mid]是最小值左侧的元素

image-20231005104734165

由于数组中不包含重复元素,且只要当前的区间长度不为1,mid就不会与high重合,如果当前的区间长度为1,说明已经结束二分查找,因此不会存在nums[mid]=nums[high]的情况

class Solution {
    public int findMin(int[] nums) {
        int low = 0,high = nums.length -1;
        while(low < high){
            int mid = (low + high) / 2;
            if(nums[mid] < nums[high]){  //如果中点的值小于nums[high]说明[mid,high]是有序的,说明最小值在mid右侧
                high = mid;
            }else{  //如果nums[mid]>nums[high]说明最小值在mid右侧,则low = mid + 1
                low = mid + 1;
            }
        }
        return nums[low];
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1061261.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

因为在此系统上禁止运行脚本

问题&#xff1a; 解决办法&#xff1a; vue项目搭建中"因为在此系统上禁止运行脚本"报错&#xff0c;解决方法 - 你的剧本 - 博客园 (cnblogs.com)

文举论金:黄金原油全面走势分析策略独家指导

市场没有绝对&#xff0c;涨跌没有定势&#xff0c;所以&#xff0c;对市场行情的涨跌平衡判断就是你的制胜法宝。欲望&#xff01;有句意大利谚语&#xff1a;让金钱成为我们忠心耿耿的仆人&#xff0c;否则&#xff0c;它就会成为一个专横跋扈的主人。空头&#xff0c;多头都…

10.2 调试事件获取DLL装载

理解了如何通过调试事件输出当前进程中寄存器信息&#xff0c;那么实现加载DLL模块也会变得很容易实现&#xff0c;加载DLL模块主要使用LOAD_DLL_DEBUG_EVENT这个通知事件&#xff0c;该事件可检测进程加载的模块信息&#xff0c;一旦有新模块被加载或装入那么则会触发一个通知…

大数据Doris(四):直接编译(CentOS/Ubuntu)准备

文章目录 直接编译(CentOS/Ubuntu)准备 一、环境准备

国庆与中秋两节合一的长假

国庆节是我国最重要的节日之一&#xff0c;而中秋节则是一个家庭团聚和感恩的时刻&#xff0c;当这两个重要的节日同时降临&#xff0c;就为人们带来了双重的欢庆。今年&#xff08;2023&#xff09;的国庆节与中秋节难得地重合在一起&#xff0c;让人们享受了长达8天的假期。这…

一文看懂功率MOSFET FCP190N60 N沟道 基础知识

什么是MOSFET的原意是&#xff1a;MOS&#xff08;Metal Oxide Semiconductor金属氧化物半导体&#xff09;&#xff0c;FET&#xff08;Field Effect Transistor场效应晶体管&#xff09;&#xff0c;即以金属层&#xff08;M&#xff09;的栅极隔着氧化层&#xff08;O&#…

实验室超声波萃取技术的原理和特点是什么?

梵英超声(fanyingsonic)实验室超声波清洗机 超声波萃取中药材的优越性源于超声波的特殊物理性质。通过压电换能器产生的快速机械振动波&#xff0c;超声波可减少目标萃取物与样品基体之间的作用力&#xff0c;从而实现固液萃取分离。 &#xff08;1&#xff09;加速介质质点运…

13个最强大的摄影测量软件【2023最新】

如果你曾经使用 Google 地球探索过外国城市或玩过《堡垒之夜》&#xff0c;就会体验到摄影测量的好处。 通过将多张航空照片以及来自 NASA 的海拔和地形信息相结合&#xff0c;Google 地球可以创建大多数主要城市的逼真 3D 视图。 视频游戏制造商 Epic Games 使用摄影测量技术…

苹果V3签名是什么?优势是什么?什么场合需要应用到?该怎么部署?

v3签名&#xff0c;或称为Apple Developer Program v3签名&#xff0c;是苹果公司在2021年6月推出的一种签名格式&#xff0c;用于对应用程序进行签名和验证。 它是取代了之前的v2签名格式&#xff0c;用于增强应用程序的安全性和完整性。 v3签名能够做到以下几点&#xff1a;…

[硬件基础]-快速了解PWM

快速了解PWM 文章目录 快速了解PWM1、什么是PWM2、PWM的频率3、PWM的占空比4、PWM信号的输出电压计算5、脉宽调制幅度6、脉冲宽度调制生成技术6.1 使用微控制器生成脉冲宽度调制6.2 使用模拟电路产生脉冲宽度调制6.3 其他产生PWM的方法 在本文中&#xff0c;将介绍脉宽调制。 脉…

QT基础入门——信号和槽机制(二)

前言&#xff1a; 在Qt中&#xff0c;有一种回调技术的替代方法&#xff1a;那就是信号和槽机制。当特定事件发生时&#xff0c;会发出一个信号。Qt的小部件中有许多预定义的信号&#xff0c;但我们可以将小部件子类化&#xff0c;向它们添加自定义的信号。槽是响应特定信号的…

静电监控系统的作用在哪

静电监控系统主要用于监测和管理静电的产生、传导和消除&#xff0c;以防止静电对生产过程和环境的损害。具体来说&#xff0c;静电监控系统的作用包括以下几个方面&#xff1a; 监测静电的产生和传导&#xff1a;静电监控系统可以实时监测生产现场的静电产生和传导情况&#…

【LeetCode热题100】--33.搜索旋转排序数组

33.搜索旋转排序数组 对于有序数组&#xff0c;使用二分查找&#xff1a; 该题只保证了部分有序&#xff0c;也能进行二分查找 在常规二分查找时查看当前mid分割出来的两部分[l,mid]和[mid1,r]&#xff0c;哪个部分是有序的&#xff0c;根据有序的那个部分确定我们该如何改变…

解决WPF+Avalonia在openKylin系统下默认字体问题

一、openKylin简介 openKylin&#xff08;开放麒麟&#xff09; 社区是在开源、自愿、平等和协作的基础上&#xff0c;由基础软硬件企业、非营利性组织、社团组织、高等院校、科研机构和个人开发者共同创立的一个开源社区&#xff0c;致力于通过开源、开放的社区合作&#xff…

k8s集群-6(daemonset job cronjob控制器)

Daemonset 一个节点部署一个节点 当有节点DaemonSet 确保全部 (或者某些) 节点上运行一个 Pod 的副本。加入集群时&#xff0c;也会为他们新增一个 Pod 。当有节点从集群移除时&#xff0c;这些Pod 也会被回收。删除 DaemonSet 将会删除它创建的所有 Pod。 DaemonSet 的典型用…

Integrity Plus for Mac,保障网站链接无忧之选

在如今数字化的时代&#xff0c;网站链接的完整性对于用户体验和搜索引擎排名至关重要。如果您是一位网站管理员或者经常需要检查网站链接的人&#xff0c;那么Integrity Plus for Mac&#xff08;Integrity Plus&#xff09;将成为您最好的伙伴。 Integrity Plus是一款专业的…

WS-FLV直播协议分析

一、简介 ws-flv&#xff08;websocket-flv&#xff09;是一种直播协议&#xff0c;其基于WebSocket来传输FLV格式的音视频。可以用来替代rtmp&#xff0c;解决其需要浏览器端依赖flash的问题&#xff1b;替代http-flv&#xff0c;解决浏览器同域名请求的最大并发数限制导致的浏…

英伟达NVIDIA驱动安装

一般&#xff0c;我们新的显卡上机或者新系统可能就需要重新安装显卡驱动。或者是我们在配置深度学习环境时候&#xff0c;需要手动安装驱动。 官网地址&#xff1a;官方高级驱动搜索 | NVIDIA 我们选择好自己需要的驱动后直接安装即可 下载的时候&#xff0c;选择自己需要的驱…

Swift SwiftUI CoreData 过滤数据 1

Xcode: Version 14.3.1 (14E300c) iOS: 16 预览&#xff1a; Code: import SwiftUI import CoreDatastruct TodosSearch: View {State private var search_title "测试"FetchRequest var todos_search: FetchedResults<Todo>init() {let request: NSFetchReq…

纯JS电子表格控件SpreadJS正式发布v16.2——新增甘特图插件

SpreadJS 是一款基于 HTML5 的纯前端电子表格控件&#xff0c;兼容 450 种以上的 Excel 公式&#xff0c;凭借其 “高性能、跨平台、与 Excel 高度兼容”的产品特性&#xff0c;备受以华为、苏宁易购、天弘基金等为代表的企业用户青睐。SpreadJS 为用户带来亲切的 Excel 使用体…