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

【力扣刷题|第五天作业】二分查找-寻找旋转排序数组中的最小值 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];}
}

相关文章:

  • frome time import * 与 import time
  • 多物理场仿真底层算法到AI智能仿真革命
  • Win11右键显示全部内容
  • 架构-软件架构设计
  • Windows下QT打包后程序运行后弹出CMD命令窗口的问题解决方法
  • 某大型电解铝厂电解系统谐波治理装置改造沃伦森电气
  • 深度学习3.7 softmax回归的简洁实现
  • 基于大模型的食管平滑肌瘤全周期预测与诊疗方案研究
  • Kaamel白皮书:Model Context Protocol (MCP) 隐私安全最佳实践
  • 沁恒CHV203中断嵌套导致修改线程栈-韦东山
  • 什么是IT人力外包?IT人力外包服务流程分为哪些步骤?
  • 序论文42 | patch+MLP用于长序列预测
  • Python基础语法:标识符,运算符,数据输入input(),数据输出print(),转义字符,续行符
  • CompletableFuture到底怎么用?
  • 飞算 JavaAI 的 “需求变更” 解决方案:让开发更灵活!
  • 如何解决PyQt从主窗口打开新窗口时出现闪退的问题
  • ai人才需要掌握什么
  • linux 桌面环境
  • JCE cannot authenticate the provider BC
  • 三国杀专业分析面板,立志成为桌游界的stockfish
  • 广州多条BRT相关线路将停运,全市BRT客运量较高峰时大幅下降
  • 胃病、闭经、湿疹、失明:藏在疾病后的情绪问题
  • 夜读丨修车与“不凑合”
  • 中国专家组赴缅开展地震灾害评估工作
  • 乌克兰关切有中国公司帮助俄罗斯制造军事硬件,外交部:坚决反对无端指责
  • 京东美团商战,能惠及骑手吗?