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

哪个网站是自己销售软文推广一般发布在哪些平台

哪个网站是自己销售,软文推广一般发布在哪些平台,wordpress博客搭建,北京发布疫情最新消息题目: 整数数组nums按升序排列,数组中的值互不相同 在传递给函数之前,nums在预先未知的某个小标K上进行了旋转,使数组变为[nums[k], nums[k1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]],小标从0开始计数。…

题目:

整数数组nums按升序排列,数组中的值互不相同

在传递给函数之前,nums在预先未知的某个小标K上进行了旋转,使数组变为[nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]],小标从0开始计数。例如[0,1,2,4,5,6,7] 在下标 3 处经旋转后可能变为 [4,5,6,7,0,1,2] 。

给定旋转后的数组nums和一个整数target,如果nums中存在这个目标值target,则返回它的小标,否则返回-1


方法一:二分查找

对于有序数组,可以使用二分查找的方法查找元素

这道题中,数组本身不是有序的,进行旋转后只保证了数组的局部是有序的

可以发现,将数组从中间分开成左右两部分,一定有一部分的数组是有序的,拿示例看,从 6 这个位置分开以后数组变成了 [4, 5, 6] 和 [7, 0, 1, 2] 两个部分,其中左边 [4, 5, 6] 这个部分的数组是有序的,其他也是如此。

这启示我们,可以在常规二分查找的时候查看当前mid为分割位置分割出来的两个部分[l, mid] 和 [mid + 1, r]哪个部分是有序的并根据有序的那个部分确定该如何改变二分查找的上下界,因为可以根据有序的部分判断出target在不在这个部分。

如果 [l, mid - 1] 是有序数组,且 target 的大小满足 [nums[l],nums[mid]),应该将搜索范围缩小至 [l, mid - 1],否则在 [mid + 1, r] 中寻找

如果 [mid, r] 是有序数组,且 target 的大小满足 (nums[mid+1],nums[r]],则我们应该将搜索范围缩小至 [mid + 1, r],否则在 [l, mid - 1] 中寻找。

class Solution(object):def search(self, nums, target):""":type nums: List[int]:type target: int:rtype: int"""if not nums:  #如果输入数组为空,直接返回-1表示未找到return -1l,r=0,len(nums)-1  #初始化两个指针l(left)和r(right),分别指向数组的开始和结束位置while l<=r: #开始二分查找循环,当左指针不超过右指针时继续循环mid=(l+r)//2  #计算中间位置midif nums[mid]==target: #如果中间值正好等于目标值,直接返回中间索引return midif nums[0]<=nums[mid]:#检查数组的左半部分是否有序(旋转点在mid右侧)if nums[0]<=target<nums[mid]: #如果目标值在有序的左半部分范围内,将右指针移到mid左侧r=mid-1else:l=mid+1  #否则目标值在右半部分,将左指针移到mid右侧else: #如果左半部分无序(旋转点在mid左侧),则右半部分必定有序if nums[mid]<target<=nums[len(nums)-1]:#如果目标值在有序的右半部分范围内,将左指针移到mid右侧l=mid+1else:    #否则目标值在左半部分,将右指针移到mid左侧r=mid-1return -1

时间复杂度:O(logn),其中 n 为 nums 数组的大小。整个算法时间复杂度即为二分查找的时间复杂度 O(logn)

空间复杂度: O(1)

源自力扣官方题解
 

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

相关文章:

  • 乡村旅游网站的建设手机怎么做网站
  • 一个做网站的团队需要哪些人员网站优化建议
  • 统一门户平台企业seo推广的绝密诀窍曝光
  • 网站建设怎样做好优化大师app下载安装
  • 贵港市城乡建设委员会网站百度网页高级搜索
  • 用dw做的网页怎么连到网站上宁德市疫情最新消息
  • 诸暨公司做网站免费引流推广的方法
  • 江门网站建设工作公司网站设计要多少钱
  • 南宁seo推广鹤壁seo公司
  • 做公众号的必备参考网站宜昌网站seo收费
  • 做网站怎么找图电商培训机构需要什么资质
  • 做网站很难吗陕西网站seo
  • 做淘宝客的网站怎么备案引擎优化搜索
  • 网站建设如何插音乐销售平台有哪些
  • 百度下载文章转wordpress深圳百度快速排名优化
  • 西安网站建设公司西安网络公司国家市场监督管理总局官网
  • 深圳外包网站制作公司东莞网站推广排名
  • 石排镇做网站百度网址大全网站
  • 做一个多肉网站可以做哪些内容搜索引擎营销包括
  • 网站建设怎么找客户资源上海发布最新情况
  • 做翻译 网站吗电商关键词seo排名
  • 龙岩设计师seo数据监控平台
  • 自己网站如何做关键词排名免费网站模板网
  • 常州哪家做网站便宜今日新闻热点
  • 内网网站开发实体店营销策划方案
  • 专业做医院网站建设专门做网站的公司
  • 网站前端后端分开做可以吗定制网站+域名+企业邮箱
  • 艺术字体设计网天津百度整站优化服务
  • 门户网站盈利模式网络广告电话
  • 网站群建设意义网络营销推广方案模板