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

python源码下载四川旅游seo整站优化

python源码下载,四川旅游seo整站优化,广州天河区有哪些大学,wordpress图片超链接题目: 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置 方法一:二分查找 假设题意是在排序数组中寻找是否存在一个目标值,则可以…

题目:

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置


方法一:二分查找

假设题意是在排序数组中寻找是否存在一个目标值,则可以利用二分法在Ologn的时间内找到是否存在目标值,但这题还有个额外条件,即如果不存在数组中的时候需要返回按顺序插入的位置。需要对二分法做些修改

考虑这个插入的位置pos,它成立的条件为:

nums[pos-1]<target<=nums[pos]

其中nums代表排序数组,由于如果存在这个目标值,返回的索引也是pos,即可以将两个条件合并后并得出最后的目标:在一个有序数组中找到第一个大于等于target的下标

问题转化到这个,直接套用二分法即可,即不断用二分法逼近查找第一个大于等于target的下标,ans初始设置为数组长度可以省略边界条件的判断,因为存在一种情况是target大于数组中的所有数,此时需要插入到数组长度的位置。

class Solution(object):def searchInsert(self, nums, target):""":type nums: List[int]:type target: int:rtype: int"""left=0  #指向数组的起始位置(索引0)right=len(nums)-1  #指向数组的末尾位置(最后一个元素的索引)while left<=right:  #左指针不大于右指针。这保证了搜索区间始终有效middle=(left+right)//2 #计算中间位置的索引if nums[middle]<target: #如果中间元素小于目标值,说明目标值应该在右半部分left=middle+1 #将左指针移动到中间位置右侧elif nums[middle]>target: #如果中间元素大于目标值,说明目标值应该在左半部分right=middle-1  #将右指针移动到中间位置左侧else:return middlereturn right+1  #循环结束还没找到目标值,right+1就是它应该插入的位置1

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

空间复杂度:O(1)

源自力扣官方题解

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

相关文章:

  • 建设银行网站登录首页如何自己做app的软件
  • 山东企业网站备案肉部网站建设包括哪些
  • 大学生兼职网站设计论文结合七牛云做视频网站
  • 兴义城乡建设部网站2022年度关键词
  • 任丘网站建设价格企业安全文化建设的内容
  • 中国建筑网官网app拼多多seo搜索优化
  • 宝山网站推广兰州北京网站建设
  • 做会展网站的公司的工作流程网站建设站长之家
  • 如何写网站建设方案seo 的原理和作用
  • 做网站后台怎么弄购物网站宣传方案
  • 图片网站建站系统公司的网站建设费怎么入账
  • 南通建设工程造价信息网站找人帮忙注册app推广
  • 网站怎么实现两种语言动画制作软件手机版
  • 国外网站查询怎么判断网站是不是模板做的
  • 简繁网站怎么做如手机网站源码
  • asp做网站和dw的区别电脑如何做穿透外网网站
  • 做网站的公司合肥东莞市外贸网站建设公司
  • 网站开发培训机构排名网页设计与制作总结报告800字
  • 济宁培训网站建设wordpress建立数据库时出错
  • 安徽华夏网站建设网站推销话术
  • 买网站需要注意什么cms全称
  • 百度收录网站怎么做写作网站的文风
  • 为什么用MyEclipse做网站惠州住房和城乡建设厅网站
  • 网站建设 投资合作河北招投标公共服务平台
  • 网站建设要多久的游戏推广一个月能拿多少钱
  • 织梦网站怎么修改内容设计网站广告标语
  • 怎么提高网站曝光百度导航是哪个国家的公司
  • 银川做网站的 公司有哪些品牌建设存在的问题及对策
  • 做网站的装饰标语年轻人不要做网络销售
  • 云南住房和城乡建设部网站采集站seo赚钱辅导班