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

广西高端网站建设怎么给一个网站做搜索功能

广西高端网站建设,怎么给一个网站做搜索功能,logo设计竞标网站,缪斯设计集团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/a/498147.html

相关文章:

  • 网站怎样设计网址甘肃省城乡住房建设厅网站首页
  • 屏南网站建设兼职无锡互联网公司排名
  • 梅州市住房与城乡建设局网站免手机微网站
  • 网站备案技巧全国网站建设公司有多少家
  • 国内网站设计作品欣赏特效网站模板
  • 公司建设一个网站有什么好处网站运营发展前景
  • 网站备案是什么一回事国外网站设计大全
  • 网站做广告如何做帐wordpress 淘宝 采集
  • 房山建站公司高效利用js的代码库
  • 鲅鱼圈规划建设局网站临沂网站改版
  • wordpress 网站很慢公司外宣网站
  • 如何查找昆明公司的网站企业网站必须实名认证
  • 朔州路桥建设有限责任公司网站建设项目一次公示网站
  • 深圳网站制作公司售后在网站用什么做页面布局
  • 我的世界怎么做的好看视频网站做网站需要考虑什么
  • 自建个网站怎么做网站后期维护需要怎么做
  • 兰山网站建设公司绵阳网站设计公司
  • 门户网站建站系统英涛祛斑 网站开发
  • 网站开发如何进行管理wordpress 图片页面
  • 北京网站开发哪家强广东泰通建设有限公司网站
  • 中国电力建设协会网站广饶网站开发
  • 网站设计要素本地搭建asp网站
  • 网站推广的途径和方法5118和百度指数
  • 苏州免费自助建站网站建设内蒙古做网站的公司有哪些
  • 广西贵港建设集团有限公司网站华强北商城官网入口
  • win2008iis配置网站萧山建站
  • 潍坊360做网站怎么样做网站_接活
  • 企业对企业的电子商务网站有哪些河南广宇建设集团有限公司网站
  • 创意网站开发企业企业电器网站建设方案
  • 目前做汽配的网站有哪些网站引导页是什么意思