当前位置: 首页 > ds >正文

【力扣刷题|第五天作业】二分查找-寻找旋转排序数组中的最小值 II

在这里插入图片描述

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

力扣题目网址:寻找旋转排序数组中的最小值 II

这道题和寻找153题很相似,但是这道题我们跟数组最后一个数比较的时候,我们不能确定这个数是在最小值的左边还是在最小值的右边,例如数组3 3 3 3 1 3 33 1 3 3 3 3 3我们第一取 mid 的时候他是3,而最后一个数也是3,那么我们该判断他是在左边还是右边呢。这时候我们可以舍弃最后一个数,继续二分。如果他是最小值,mid等于最后一个数,说明最小值还在剩下的数组当中,如果不是最小值,我们排除了一个数。

class Solution {public int findMin(int[] nums) {int left = 0, right = nums.length - 2;int end = nums.length - 1;while (left <= right) {int mid = left + (right - left) / 2;if(nums[mid] > nums[right+1]) {left = mid + 1;}else if(nums[mid] < nums[right+1]) {right = mid - 1;}else {right --;}}return nums[left];}
}
http://www.xdnf.cn/news/1853.html

相关文章:

  • Redis Bitmaps
  • 网络编程!
  • Android 16强制横竖屏设置
  • SQL进阶知识:七、数据库设计
  • 每日英语:每周背10句
  • PyQt6实例_pyqtgraph散点图显示工具_代码分享
  • AI大模型从0到1记录学习 数据结构和算法 day20
  • 分片算法详解:原理、类型与实现方案
  • 链表-两两交换链表中的结点
  • 接地电阻柜的主要材料有哪些?
  • 树莓派的系统烧录
  • 差分探头关键性能参数解析
  • 【盈达科技】GEO(生成式引擎优化)底层逻辑
  • 2025年3月电子学会青少年机器人技术(五级)等级考试试卷-实际操作-测评
  • el-menu箭头改为右下
  • 运算符重载 (Operator Overloading)
  • 雨晨 27842.1000 Windows 11 金丝雀 企业版 IE Edge 适度 2合1
  • 【多篇博客整理】 如何在linux虚拟环境中安装java + Daikon
  • 3D高斯个人笔记
  • 主流TTS(Text-to-Speech)服务提供商的详细对比
  • Java面向对象编程:深入理解继承
  • frome time import * 与 import time
  • 第14章:MCP服务端项目开发实战:多模态信息处理
  • 线程同步与互斥(互斥)
  • linux sudo 命令介绍
  • WGAN+U-Net架构实现图像修复
  • Python3(9) 列表
  • CGAL 网格等高线计算
  • 第16章:MCP服务端项目开发实战:对话系统
  • 【通关函数的递归】--递归思想的形成与应用