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

如何看还在建设的网站b站2020推广网站

如何看还在建设的网站,b站2020推广网站,现在房地产的最新情况,云空间提供网站哈喽~第二周刷题开始了&#xff0c;今天这道题虽然属于简单&#xff0c;而且是二分查找模板题&#xff0c;但是我太菜了我感觉有好多可以让我思考的地方。 就一起看看这道题目吧~ 解答&#xff1a; class Solution { public:int searchInsert(vector<int>& nums, i…

哈喽~第二周刷题开始了,今天这道题虽然属于简单,而且是二分查找模板题,但是我太菜了我感觉有好多可以让我思考的地方。
就一起看看这道题目吧~
在这里插入图片描述
解答:

class Solution {
public:int searchInsert(vector<int>& nums, int target) {//直接二分查找模板int n=nums.size();int left=0,right=n-1;int mid=0;while(left<=right){mid=left+(right-left)/2;if(target>nums[mid]){left=mid+1;}else{right=mid-1;}}return left;}
};

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

思考:
为什么返回left就可以得到target要插入的位置呢?
left 指向的是 第一个大于或等于 target 的位置。
right 指向的是 最后一个小于 target 的位置。

我们都知道二分查找原来是返回mid,即nums[mid]=target.
在我们的代码中,这时right会赋值为mid-1。之后如果left<=right,会继续循环,但此时只有left会增加而right不变,直到while判定条件为否。

理解:right已经到头了,right不会再变了。left要逐渐逼近right

而退出while的时候,left一定为right+1,即left=mid-1+1=mid
注意这里mid我加粗了,这里mid不是每次循环在变的mid,而是之前的right的值的那个mid

也就是说,nums[left]=nums[mid]=target
和二分查找又一样了对不对??

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

相关文章:

  • 建设网站方案 ppt百度竞价托管公司
  • 电商平台门户网站建设的重要性石家庄网站建设公司
  • 微信代运营费用优化推广网站seo
  • wordpress隐藏网页代码汕头seo优化培训
  • wordpress制作交友软件裤子seo标题优化关键词
  • 河南怎样做网站推广品牌咨询
  • 邢台网站建设服务周到广州seo网站推广优化
  • 高手做网站新闻联播直播 今天
  • 武汉建设学校网站爱站网注册人查询
  • 电商平台哪个好做seo长沙
  • 链接网站开发需要多少钱网站网络推广推广
  • 音乐摄影网站建设宗旨百度数字人内部运营心法曝光
  • 外包做的网站可以直接去收录吗班级优化大师手机版下载(免费)
  • seo精华网站seo推广软件
  • 软文推广去哪个平台好seo试用软件
  • idc数据中心排名百度关键词seo年度费用
  • wordpress 关键词描述优化seo系统
  • 东莞制作企业网站做小程序的公司
  • 做商务楼房型图网站专业seo服务商
  • 沈阳好的网站app推广拉新一手渠道
  • 日照网站开发公司成功的品牌推广案例分析
  • 旅行网站的建设目录网络营销的特点分别是
  • 公司网页设计图青岛seo排名公司
  • 网站站内优化怎么做seo咨询河北
  • 比价网站网站优化外包找谁
  • 如何在微信内做网站如何做企业产品推广
  • 学做网站难不难免费的h5制作网站模板
  • 下载网站备案的核验单哈尔滨最新消息
  • 内江规划建设教育培训中心网站推广app软件
  • 网站建设专业导航网站账户竞价托管费用