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

怎么做网站原型优秀的网页设计网站

怎么做网站原型,优秀的网页设计网站,重庆市制作网站公司哪家好,手机模板网站模板免费下载4. 搜索插⼊位置(easy) 题⽬描述:解法(⼆分查找算法): 题⽬链接:35. 搜索插⼊位置 题⽬描述: 给定⼀个排序数组和⼀个⽬标值,在数组中找到⽬标值,并返回其索…

4. 搜索插⼊位置(easy)

    • 题⽬描述:
    • 解法(⼆分查找算法):

题⽬链接:35. 搜索插⼊位置

题⽬描述:

给定⼀个排序数组和⼀个⽬标值,在数组中找到⽬标值,并返回其索引。如果⽬标值不存在于数组中,返回它将会被按顺序插⼊的位置。
请必须使⽤时间复杂度为 O(log n) 的算法。
⽰例 1:
输⼊: nums = [1,3,5,6], target = 5
输出: 2
⽰例 2:
输⼊: nums = [1,3,5,6], target = 2
输出: 1
⽰例 3:
输⼊: nums = [1,3,5,6], target = 7
输出: 4

解法(⼆分查找算法):

算法思路:

  1. 分析插⼊位置左右两侧区间上元素的特点:
    设插⼊位置的坐标为 index ,根据插⼊位置的特点可以知道:
    • [left, index - 1] 内的所有元素均是⼩于 target 的;
    • [index, right] 内的所有元素均是⼤于等于 target 的。
  2. 设 left 为本轮查询的左边界, right 为本轮查询的右边界。根据 mid 位置元素的信息,分析下⼀轮查询的区间:
    ▪ 当 nums[mid] >= target 时,说明 mid 落在了 [index, right] 区间上,mid 左边包括 mid 本⾝,可能是最终结果,所以我们接下来查找的区间在 [left, mid] 上。因此,更新 right 到 mid 位置,继续查找。
    ▪ 当 nums[mid] < target 时,说明 mid 落在了 [left, index - 1] 区间上,mid 右边但不包括 mid 本⾝,可能是最终结果,所以我们接下来查找的区间在 [mid + 1, right] 上。因此,更新 left 到 mid + 1 的位置,继续查找。
  3. 直到我们的查找区间的⻓度变为 1 ,也就是 left == right 的时候, left 或者right 所在的位置就是我们要找的结果。

C++ 算法代码:

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

Java 算法代码:

class Solution
{public int searchInsert(int[] nums, int target) {int left = 0, right = nums.length - 1;while(left < right){int mid = left + (right - left) / 2;if(nums[mid] < target) left = mid + 1;else right = mid;}// 特判⼀下第三种情况if(nums[right] < target) return right + 1;return right;}
}
http://www.dtcms.com/wzjs/208839.html

相关文章:

  • 如何在百度上做网站北京网站优化
  • 网站建设制作公司哪家优化关键词排名
  • 网站见建设aso安卓优化公司
  • 网站的html网页设计首页
  • 专业app定制开发公司安卓系统优化app
  • 做数据新闻的网站有哪些方面如何让百度快速收录网站文章
  • 做澳门赌场的网站用手机制作自己的网站
  • 能否设置网站做局域网定制开发公司
  • 园区建设网站的方案一网信息一个简单便捷的新闻网站
  • 做网站报价表新闻摘抄四年级下册
  • 自力教育长春seo优化
  • 新疆网络科技有限公司seo资讯网
  • 网站开发项目安全加固的要求深圳网络推广优化
  • 网站建设制作优帮云seo培训学院官网
  • 温州网站建设服务中心洛阳seo外包公司费用
  • web设计是什么意思seo是做什么工作内容
  • 会网站开发 不会软件昆明百度推广开户费用
  • 可以做cps合作的棋牌网站6外链百科
  • 河南网站建设公关键词搜索量怎么查
  • 宾县建设局网站搜索引擎技术优化
  • 用wordpress建站效果怎么样百度关键词点击器
  • 网站右击无效是怎么做的cnn头条新闻
  • 网站建设验收内容移动端排名优化软件
  • 南昌专业网站优化推广seo快速排名站外流量推广
  • 旅游电子商务网站建设与研究百度seo点击
  • 中山百度关键词搜索西安seo网站关键词
  • 自己做视频网站如何接广告定制网站和模板建站
  • 如何免费自制网站seo关键词如何布局
  • 网站建设客户需求表淘宝店铺怎么引流推广
  • 如何自己搭建一个企业网站一个新品牌如何推广