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

深圳网页制作推广哪家好搜索引擎优化的简写是

深圳网页制作推广哪家好,搜索引擎优化的简写是,海门做网站,委托建站公司塔山双喜题目: 已知一个长度为n的数组,预先按照升序排列,经由1到n次旋转后,得到输入数组,例如,原数组 nums [0,1,2,4,5,6,7] 在变化后可能得到: 若旋转 4 次,则可以得到 [4,5,6,7,0,1,2]若…

题目:

已知一个长度为n的数组,预先按照升序排列,经由1到n次旋转后,得到输入数组,例如,原数组 nums = [0,1,2,4,5,6,7] 在变化后可能得到:

  • 若旋转 4 次,则可以得到 [4,5,6,7,0,1,2]
  • 若旋转 7 次,则可以得到 [0,1,2,4,5,6,7]

注意,数组 [a[0], a[1], a[2], ..., a[n-1]] 旋转一次 的结果为数组 [a[n-1], a[0], a[1], a[2], ..., a[n-2]] 

给定一个元素互不相同的数组nums,它原来是一个升序排列的数组,并按上述情形进行了多次旋转,找出并返回数组中的最小元素。

 


题目:二分查找

一个不包含重复元素的升序数组在经过旋转之后,可以得到下面可视化的折线图:

 其中横轴表示数组元素的下标,纵轴表示数组元素的值。图中标出了最小值的位置,是我们需要查找的目标。

考虑数组中的最后一个元素x::在最小值右侧的元素(不包括最后一个元素本身),它们的值一定都严格小于 x;而在最小值左侧的元素,它们的值一定都严格大于 x。因此可以通过二分查找的方法找出最小值。

在二分查找的每一步中,左边界为 low,右边界为 high,区间的中点为 pivot,最小值就在该区间内。将中轴元素 nums[pivot] 与右边界元素 nums[high] 进行比较,

可能会有以下的三种情况:

第一种情况是 nums[pivot]<nums[high]。如下图所示,这说明 nums[pivot] 是最小值右侧的元素,因此我们可以忽略二分查找区间的右半部分。

第二种情况是 nums[pivot]>nums[high]。如下图所示,这说明 nums[pivot] 是最小值左侧的元素,因此我们可以忽略二分查找区间的左半部分。

 

由于数组不包含重复元素,并且只要当前的区间长度不为 1,pivot 就不会与 high 重合;而如果当前的区间长度为 1,这说明我们已经可以结束二分查找了。因此不会存在 nums[pivot]=nums[high] 的情况。

当二分查找结束时,就得到了最小值所在的位置。

class Solution(object):def findMin(self, nums):""":type nums: List[int]:rtype: int"""low,high=0,len(nums)-1 #初始化两个指针low和high,分别指向数组的开始(0)和结束位置while low<high:#当low指针小于high指针时继续循环mid=low+(high-low)//2  #计算中间位置if nums[mid]<nums[high]: #说明最小值在左半部分high=mid  #将右指针移动到中间位置else: #说明最小值在右半部分low=mid+1return nums[low]  #low == high,指向的就是最小值的位置

时间复杂度为: O(logn),其中 n 是数组 nums 的长度

空间复杂度:O(1)

源自力扣官方题解
 

 

http://www.dtcms.com/wzjs/160148.html

相关文章:

  • 做的最好的宠物网站成都网络营销公司哪家好
  • 如何用华为云服务器做网站网络营销的公司有哪些
  • 网站实时K线怎么做怎样制作网页设计
  • 百度地图导航客服seo推广教程seo推广技巧
  • 做网站赚钱缴税吗郑州seo代理外包公司
  • 网站备案查询长春网站开发
  • 创意福州网站建设中国最新领导班子
  • 网站代码下载猪八戒网接单平台
  • 高端网站建设公司兴田德润可以不软文营销经典案例
  • 河东做网站seo培训班
  • 德阳网站制作推广页面制作
  • 无锡做网站设计的公司刚刚突发1惊天大事
  • 南安seo教程泰州seo外包公司
  • 北海公司做网站seo推广的网站和平台有哪些
  • 实实通信的视频网站怎么做网站搜索引擎优化案例
  • 如何做能上传视频网站自媒体引流推广
  • 国内阿里巴巴网站怎么做合肥网站优化推广方案
  • 网站公司排行榜最近一周的重大新闻
  • 做网站需要用到的软件杭州营销策划公司排名
  • 前程无忧做简历网站网络运营策划
  • 怎么查网站的备案信息微信推广软件有哪些
  • wordpress公司主题网站优化推广排名
  • 伊犁北京网站建设磁力链
  • 王烨桦湖南seo公司
  • 如何修改网站标题电商运营主要工作内容
  • 苏州建设职业培训中心网站优化网络搜索引擎
  • 做纺织的都用什么网站郑州网站建设公司哪家好
  • 张家港做网站哪家好seo网站建设优化什么意思
  • 企业产品展示型网站案例百度商城官网首页
  • 个人简历免费可填写的模板下载电脑系统优化工具