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

星巴克网站建设方案链接推广平台

星巴克网站建设方案,链接推广平台,中国人民银行官网,莱州网站建设价格这道题属于是二分查找的入门题了,我依稀记得一些二分查找的编码要点,但是最后还是写出了一个死循环,无语(ˉ▽ˉ;)…又回去看了下自己当时的博客和卡哥的视频,这才发现自己分情况只分了两种,最后导致死循环…


这道题属于是二分查找的入门题了,我依稀记得一些二分查找的编码要点,但是最后还是写出了一个死循环,无语(ˉ▽ˉ;)…又回去看了下自己当时的博客和卡哥的视频,这才发现自己分情况只分了两种,最后导致死循环。。。下面直接说思路。本题我们采用左闭右开的二分查找法,左区间的搜索范围为[left, mid),而右区间的搜索范围为[mid, right),我们要确保这两个查找区间在初始状态下覆盖整个数组的元素,因此left初始化为0right初始化为nums.size(),而不是nums.size() - 1,下面来讨论区间的更新情况:

  1. nums[mid] > target时,则右区间内所有的元素都比target大,插入位置应当在左区间内,因此我们将right赋值为mid(因为nums[mid] > target,所以原来的nums[mid]不应包含在区间内,right赋值为mid而不是mid - 1
  2. nums[mid] < target时,则左区间内所有元素都比target小,插入位置应当在右区间内,因此我们将left赋值为mid(因为nums[mid] < target,新的区间不应当继续包含nums[mid]left赋值为mid + 1而不是mid
  3. nums[mid] == target时,说明我们在数组中找到了与target值一样的元素,根据输入样例,我们直接将元素插入当前位置,原来的元素后移一位即可,所以我们直接返回mid
    循环条件是查找区间合法,对于左开右闭的区间,我们必须要保证里面至少有一个元素,因此left不能等于right,必须要保证left < right,左闭右开的区间才是合法的。
    当循环正常结束,一定是数组中没有与target相等的元素,最终触发left == right,退出循环,此时leftright返回哪个都可以,此时nums[left]对应的是数组中第一个大于target的元素,在此处插入,则该位置及以后的元素向后移一位,依然能保证插入后有序。
class Solution {
public:int searchInsert(vector<int>& nums, int target) {int left = 0, right = nums.size();int mid;//使用左闭右开的找法//左边的查找范围为[left, mid),右边的查找范围为[mid, right)//对于左闭右开的区间,左右端点的差值至少为1才合法while(left < right){mid = (left + right) / 2;if(nums[mid] > target) //插入位置在左区间内right = mid;else if(nums[mid] < target)left = mid + 1;else return mid; }return left;}
};
http://www.dtcms.com/wzjs/235394.html

相关文章:

  • 云南网站建设专家长治seo顾问
  • 平凉哪有做网站的郑州网站运营
  • h5响应式网站建设怎么做关键词优化排名
  • 做网站的赚钱吗怎样下载优化大师
  • 订制网站买外链网站
  • 一键抓取的网站怎么做关键词查询工具包括哪些
  • 用凡科做网站的费用网页制作公司排名
  • 淘宝客是如何做网站与淘宝对接的优化大师平台
  • 建设一个大型电影网站手机网站怎么优化关键词
  • 建立公司网站的申请重庆seo网络优化师
  • 做壁纸的专业网站长春网络科技公司排名
  • 关于电器网站建设的法律百度seo怎么查排名
  • 荣县网站开发精准客户运营推广
  • 一女被多男做的视频网站小米市场营销案例分析
  • 政府网站做的不好什么是友情链接?
  • 可以做软文推广的网站互联网十大企业
  • 电子商务网站是什么网站建设与网页设计制作
  • 网站建设定制公司百度收录的网站
  • 网站设计服务合同湖南正规seo优化
  • 档案馆网站安全建设网络广告策划与制作
  • 贵阳城乡建设学校网站北京seo优化推广
  • 怎么把asp网站改成php淘宝店铺推广方式有哪些
  • 什么叫商业网站网站的建设流程
  • 构建动态网站设计宁波seo公司排名榜
  • 怎样发布信息到网上温州seo优化
  • 上海免费推广网站有哪些今天重要新闻
  • 安卓编程入门自学谷歌seo网站运营
  • 有没有个人网站珠海百度推广优化排名
  • 潍坊市建设一体化平台网站刷排名seo
  • 深圳龙岗网站建设公司网站关键词公司