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

做论文常用网站厦门seo测试

做论文常用网站,厦门seo测试,廊坊网站推广的公司,东莞制作网站的联系方式目录 题目: 题目描述: 题目链接: 思路: 核心思路: 思路详解: 代码: Java代码: 题目: 题目描述: 题目链接: 35. 搜索插入位置 - 力扣&…

目录

题目:

题目描述:

题目链接:

思路:

核心思路:

思路详解:

代码:

Java代码:


题目:

题目描述:

题目链接:

35. 搜索插入位置 - 力扣(LeetCode)

思路:

核心思路:

二分查找

思路详解:

如果暴力的话需要 O(n) 的时间复杂度,如果二分查找的话则可以降低到 O(logn) 的时间复杂度

由题给定一个排序数组,要求必须使用时间复杂度为O(logn)的算法,相当于提示要使用二分查找

初始设置left指向0索引,right指向nums.length-1索引,再计算中间下标mid。每次根据nums[mid]和target的大小判断更新,如果相等直接返回mid,nums[mid]<target则left右移一位,nums[mid]>target则right左移一位。查找结束如果没有相等值则返回 left,该值为插入位置

为什么如果没有相等值则返回left?因为如果上面的没有返回return mid,说明最后一定是,left>right从而跳出循环的,在此之前是left=right,如果最后是right-1导致的left>right,说明原来的right位置是大于target的,所以返回原来的right位置即left位置;如果最后是left+1导致的left>right,说明是原来的的left=right这个位置小于target,而right能移动到这个位置,说明此位置右侧是大于target的,left现在加1就移动到了这样的位置,返回left即可

代码:

Java代码:

class Solution {public int searchInsert(int[] nums, int target) {int left=0;int right=nums.length-1;while(left<=right){int mid=(left+right)/2;if(nums[mid]>target){right=mid-1;}else if(nums[mid]<target){left=mid+1;}else{return mid;}}return left;}
}

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

相关文章:

  • 网站查询功能是用什么程序做的百度官方客服平台
  • 做网站商网站推广方法
  • 网站动态加速关键词排名怎么快速上去
  • 怎么自己做网站挂到百度上百度问答一天能赚100块吗
  • 建设学院实验网站的作用企业网站首页
  • 口碑好的做网站seo工作是什么意思
  • 培训前端网站开发怎么被百度收录
  • 自己怎样做网站软文类型
  • 网站更换标题软文营销方法有哪些
  • 深圳西乡网站制作海外短视频跨境电商平台是真的吗
  • 珠海移动网站建设公司百度认证平台
  • 移动端网站开发用的是java吗?百度小说
  • 嘉兴市城乡规划建设局网站推广之家
  • 珠海模板网站建设公司全球热搜榜排名今日
  • 网站建设管理ppt模板小区推广最有效的方式
  • 网站怎么做伪静态武汉seo优化代理
  • 徐州做网站的公司哪家好百度推广代理怎么加盟
  • 好网站建设公司哪个好呀模板之家官网
  • wap建站程序合集百度竞价排名事件分析
  • 洛阳高新区做网站公司友情链接
  • 公司的个人网站怎么做友链交换平台
  • 大连城市建设集团网站什么叫营销
  • 临沂免费模板建站网站宣传推广方案
  • 一级做爰片c视频网站威海百度seo
  • wordpress wcps手机关键词seo排名优化
  • 专业建设 验收 网站国内新闻摘抄2022年
  • 机关党建网站建设方案建设网站制作
  • 在线网站备案网站软文推广范文
  • wordpress cdn缓存配置广州网站设计专注乐云seo
  • 自己做网站的软件网站排名优化培训