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

搜索引擎优化平台刷关键词排名seo软件

搜索引擎优化平台,刷关键词排名seo软件,比特币交易网站可以做空吗,建设网站商城1. 题目 牛客网 面试笔试 TOP101 | LeetCode 153. 寻找旋转排序数组中的最小值 描述 有一个长度为 n 的非降序数组,比如[1,2,3,4,5],将它进行旋转,即把一个数组最开始的若干个元素搬到数组的末尾,变成一个旋转数组&#x…

1. 题目

牛客网 面试笔试 TOP101    |     LeetCode 153. 寻找旋转排序数组中的最小值

描述

有一个长度为 n 的非降序数组,比如[1,2,3,4,5],将它进行旋转,即把一个数组最开始的若干个元素搬到数组的末尾,变成一个旋转数组,比如变成了[3,4,5,1,2],或者[4,5,1,2,3]这样的。请问,给定这样一个旋转数组,求数组中的最小值。

数据范围:1 ≤n≤10000,数组中任意元素的值: 0 ≤val≤10000

要求:空间复杂度:O(1) ,时间复杂度:O(logn)

示例1

输入:

[3,4,5,1,2]

返回值:

1

示例2

输入:

[3,100,200,3]

返回值:

3

2. 解题思路

根据题目的描述,数组为非降序数组,也就是说数组中的元素是递增的。

定义

  • 非降序(Non-decreasing):对于数组中的任意相邻元素 arr[i]arr[i+1],满足 arr[i] ≤ arr[i+1]

  • 允许存在重复元素,但整体趋势不能下降。

示例

  1. 非降序的数组:

  • [1, 2, 3, 4, 5]

  • [1, 3, 3, 5]

  • [2, 2, 2](所有元素相等)

  1. 不是非降序的数组:

  • [5, 3, 1](严格递减)

  • [1, 3, 2, 4](中间有下降)

如果文字描述的不太清楚,你可以参考视频的详细讲解。

  • Python版本:Python数据结构LeetCode笔试面试算法_哔哩哔哩_bilibiliPython数据结构LeetCode笔试面试算法,bilibili课堂,哔哩哔哩课堂,哔哩哔哩,Bilibili,B站,弹幕https://www.bilibili.com/cheese/play/ep1372590

  • Java版本:LeetCode数据结构笔试面试算法-Java版_哔哩哔哩_bilibiliLeetCode数据结构笔试面试算法-Java版,bilibili课堂,哔哩哔哩课堂,哔哩哔哩,Bilibili,B站,弹幕https://www.bilibili.com/cheese/play/ep1367846

  • Golang版本:LeetCode数据结构笔试面试算法-Go语言版_哔哩哔哩_bilibiliLeetCode数据结构笔试面试算法-Go语言版,bilibili课堂,哔哩哔哩课堂,哔哩哔哩,Bilibili,B站,弹幕https://www.bilibili.com/cheese/play/ep1364844

3. 编码实现

核心代码如下:

/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param nums int整型一维数组* @return int整型*/
func minNumberInRotateArray(nums []int) int {// write code here// 1. 定义变量left := 0right := len(nums) - 1// 2. 通过循环查找旋转数组的最小值for left < right {//2.1 找到数组的中间点 midmid := (left + right) / 2// 2.2 缩小区间if nums[mid] > nums[right] {left = mid + 1 // 最小值(旋转点)在 [mid+1, right] 中} else if nums[mid] < nums[right] {right = mid // 最小值(旋转点)在 [left, mid]中} else {// 缩小范围继续判断(特殊情况:旋转之后,尾部出现相同的数据.最小值肯定在后半部分序列中的开始位置)right--}}return nums[left]
}

具体完整代码你可以参考下面视频的详细讲解。

  • Python版本:哔哩哔哩_bilibili

  • Java版本:哔哩哔哩_bilibili

  • Golang版本:哔哩哔哩_bilibili

4.小结

根据题目的描述,数组为非降序数组,也就是说数组中的元素是递增的。因此最小值肯定在后半部分序列中的开始位置。这时可以通过二分法依次缩小查找区间来找到对应的最小值。

《数据结构与算法》深度精讲课程正式上线啦!七大核心算法模块全解析:

  ✅   链表

  ✅   二叉树

  ✅   二分查找、排序

  ✅   堆、栈、队列

  ✅   回溯算法

  ✅   哈希算法

  ✅   动态规划

无论你是备战笔试面试、提升代码效率,还是突破技术瓶颈,这套课程都将为你构建扎实的算法思维底座。🔥立即加入学习打卡,与千名开发者共同进阶!

  • Python编码实现:Python数据结构LeetCode笔试面试算法_哔哩哔哩_bilibiliPython数据结构LeetCode笔试面试算法,bilibili课堂,哔哩哔哩课堂,哔哩哔哩,Bilibili,B站,弹幕https://www.bilibili.com/cheese/play/ss897667807

  • Java编码实现:LeetCode数据结构笔试面试算法-Java版_哔哩哔哩_bilibiliLeetCode数据结构笔试面试算法-Java版,bilibili课堂,哔哩哔哩课堂,哔哩哔哩,Bilibili,B站,弹幕https://www.bilibili.com/cheese/play/ss161443488

  • Golang编码实现:哔哩哔哩_bilibilihttps://www.bilibili.com/cheese/play/ss63997

对于数据结构与算法,我们总结了一套【可视化+图解】方法,依据此方法来解决相关问题,算法变得易于理解,写出来的代码可读性高也不容易出错。具体也可以参考视频详细讲解。

今日佳句:十年生死两茫茫,不思量,自难忘。

http://www.cadmedia.cn/news/9485.html

相关文章:

  • 郑州专业的网站建设公司哪家好怎样制作网页
  • 如何免费制作企业网站建网站需要什么条件
  • 网站建设yuue软文营销的技巧
  • 日照莒县网站建设兼职长沙企业网站设计
  • 网站的tdk指的是什么企业网站建设方案书
  • 教务网络管理系统网络seo培训
  • 国际公司英语翻译网站seo主要是做什么的
  • 医疗门户网站模板人力资源培训机构
  • 贵港市住房和城乡规划建设委员会网站百度app下载安装普通下载
  • wordpress时间调用标签有必要买优化大师会员吗
  • 固定ip做网站和域名区别优化关键词首页排行榜
  • 建筑业企业资质标准建设部网站百度推广账号登录入口
  • 杭州建设银行网站微信营销的方法
  • 怀化网站优化多少钱软文写手兼职
  • 怎样在拼多多平台上卖货品牌搜索引擎服务优化
  • -邵阳网络公司-邵阳网站建设|邵阳网站制作seodao cn
  • 哈尔滨专业的建站报价百度域名注册查询
  • 在潮州哪里找做网站的网站推广计划方案
  • 网站建设技术风险外贸营销
  • 语言教学网站建设课程总结佛山seo
  • 个人可以建立网站吗营销管理培训课程培训班
  • 温州网站设计定制网站关键字优化技巧
  • 国外网站建设素材库搜索引擎优化方法有哪几种
  • 网站建设及使用网站权重怎么看
  • 360免费wifi旧版本下载福州seo优化排名推广
  • 河南省级住房城乡建设主管部门网站线下引流推广方法
  • 语音识别程序代做网站职业技能培训学校
  • 汕头市网站建设个人怎么注册自己的网站
  • 网站开发都是用什么做的b2b多平台一键发布
  • 网站优化有前途吗怎样推广自己的店铺啊