【二分查找】Leetcode 寻找旋转排序数组中的最小值

题目解析

153. 寻找旋转排序数组中的最小值
在这里插入图片描述
我们可以发现旋转后的数组是有这样一个顺序特征:
在这里插入图片描述
1.要么是旋转长度次,刚好还是原来的数组
2.要么一定存在一段一段的升序区间,再其中一段的升序区间中就存在最小值


算法讲解

但是我们这一次使用二分算法不能够让nums[mid] 和nums[mid+1]位置上的两个数字进行比较,它们是比较不出来的。
所以我们需要确定一个值,以此来判断区间的状态

class Solution {
public:int findMin(vector<int>& nums) {int left = 0, right = nums.size()-1;int target = nums[right];while(left < right){int mid = left + (right - left) / 2;//说明肯定经过旋转 那么最小的数字就需要在mid 的右边区间寻找if(nums[mid] > target)left = mid + 1;else right = mid;}return nums[left];}
};

我们使用数组的最后一个值进行判断区间状态,因为旋转后的数组一定是处于一段段升序的组合,根据最后一个值就可以判断出来当前这一段的指针的移动


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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

代码随想录阅读笔记-二叉树【修剪二叉搜索树】

题目 给定一个二叉搜索树&#xff0c;同时给定最小边界L 和最大边界 R。通过修剪二叉搜索树&#xff0c;使得所有节点的值在[L, R]中 (R>L) 。你可能需要改变树的根节点&#xff0c;所以结果应当返回修剪好的二叉搜索树的新的根节点。 思路 相信看到这道题目大家都感觉是…

健身房如何通过软文获客?媒介盒子告诉你

如今全民健康意识上升&#xff0c;大家越来越重视运动带给人的获得感以及成就感&#xff0c;对于健身房来说&#xff0c;适当进行推广&#xff0c;不仅可以提高品牌知名度&#xff0c;还能吸引更多的潜在客户。今天媒介盒子就从专业角度和大家聊聊&#xff1a;健身房如何通过软…

分表?分库?分库分表?实践详谈 ShardingSphere-JDBC

如果有不是很了解ShardingSphere的可以先看一下这个文章&#xff1a; 《ShardingSphere JDBC?Sharding JDBC&#xff1f;》基本小白脱坑问题 阿丹&#xff1a; 在很多开发场景下面&#xff0c;很多的技术难题都是出自于&#xff0c;大数据量级或者并发的场景下面的。这里就出…

什么是 SD NAND?

什么是 CS 创世 SD NAND 呢&#xff1f;很多的朋友一直想知道这个问题。 什么是 CS 创世 SD NAND 呢&#xff1f;很多的朋友一直想知道这个问题。今天我们雷龙也精心准备了 SD NAND 的一个介绍。其实很多工程师朋友对 CS 创世 SD NAND 有很多称呼。比如&#xff1a;贴片式 T 卡…

Java多线程+分治求和,太牛了

shigen坚持更新文章的博客写手&#xff0c;擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长&#xff0c;分享认知&#xff0c;留住感动。 个人IP&#xff1a;shigen 最近的一个面试&#xff0c;shigen简直被吊打&#xff0c;简历上写了熟悉高并发…

机械类外文翻译,中译英如何翻译比较好?

在全球化日益加剧的今天&#xff0c;我们的机械制造业纷纷跨越国界&#xff0c;与海外企业携手合作。机构类外文翻译的需求也日益凸显。那么&#xff0c;针对机械类外文翻译&#xff0c;中译英如何翻译比较好&#xff1f; 首先&#xff0c;我们需要明确一点&#xff0c;高质量的…

弹幕功能1

今天看pure-admin的时候发现有个弹幕功能 GitHub - hellodigua/vue-danmaku: 基于 Vue 的弹幕交互组件 | A danmaku component for Vue

内容多样化的秘密:Kompas.ai如何拓展你的内容形式

在这个信息爆炸的时代&#xff0c;内容多样化已成为品牌吸引和维系广泛受众的关键策略。多样化的内容形式不仅能够迎合不同用户的偏好&#xff0c;还能够提高内容的覆盖面和参与度&#xff0c;从而增强品牌的市场竞争力。本文将深入探讨内容形式多样化的重要性&#xff0c;展示…

ctfshow web入门 php特性 web108--web115

web108 ereg函数相当于而preg_match()函数 ereg函数的漏洞&#xff1a;00截断。%00截断及遇到%00则默认为字符串的结束 strrev函数就是把字符串倒过来 就是说intval处理倒过来的传参c0x36d&#xff08;877&#xff09;?ca%00778 web109 异常处理类 通过异常处理类Excepti…

weight-tying探索

在一些领域&#xff0c;将嵌入层和输出层的权重绑定&#xff0c;以达到减少参数量并使得相同token保持统一的embedding空间的作用。 下面的nn.Linear(3, 10)的权重矩阵的尺寸是10*3&#xff0c;即y W x b&#xff0c;因此跟nn.Embedding(10, 3)的权重矩阵大小相等。 impor…

Python MNIST 转图片

Python MNIST 转图片 1 获取数据2 显示图片3 转换图片4 全部代码 1 获取数据 import numpy as np import tensorflow as tf from tensorflow.keras import datasets # type: ignoredef save(mnist_path):# 输出TensorFlow版本print("TensorFlow: {0}".format(tf.__v…

基于SpringBoot+Vue的健身教练预约管理系统(源码+文档+部署+讲解)

一.系统概述 私人健身与教练预约管理系统&#xff0c;可以摆脱传统手写记录的管理模式。利用计算机系统&#xff0c;进行用户信息、管理员信息的管理&#xff0c;其中包含首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;教练管理&#xff0c;健身项目管理&#xff0…