当前位置: 首页 > 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
  • 碧桂园服务:拟向杨惠妍全资持有的公司提供10亿元贷款,借款将转借给碧桂园用作保交楼
  • 虚构医药服务项目、协助冒名就医等,北京4家医疗机构被处罚
  • 谢震业领衔挑战世界顶尖高手,这场长三角田径钻石赛值得期待
  • 党政机关停车场免费、食堂开放,多地“五一”游客服务暖心周到
  • 讲武谈兵|朝鲜“崔贤”号驱逐舰下水,朝版“宙斯盾”战力如何?
  • 微软上财季净利增长18%:云业务增速环比提高,业绩指引高于预期