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

网站开发的背景知识与相关技术android sdk

网站开发的背景知识与相关技术,android sdk,广州专业网站改版哪家好,dw做网站如何让背景变得透明题目描述 给定一个排序数组和一个目标值#xff0c;在数组中找到目标值#xff0c;并返回其索引。如果目标值不存在于数组中#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums [1,3,5,6], target 5 输出: 2 …题目描述 给定一个排序数组和一个目标值在数组中找到目标值并返回其索引。如果目标值不存在于数组中返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 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 解题思路 二分查找的时间复杂度是 O(log n)其中 n 是数组的长度。所以可实现一个二分查找算法用于在排序数组中查找一个目标值并返回目标值的索引或者它应该被插入的位置。 代码 /*** param {number[]} nums* param {number} target* return {number}*/ var searchInsert function(nums, target) {let left 0, right nums.length - 1; // 闭区间 [left, right]while (left right) { // 区间不为空// 循环不变量// nums[left-1] target// nums[right1] targetconst mid Math.floor((left right) / 2);if (nums[mid] target) {left mid 1; // 范围缩小到 [mid1, right]} else {right mid - 1; // 范围缩小到 [left, mid-1]}}return left; }代码分析 初始化两个指针 left 和 right分别指向数组的起始和结束位置形成一个闭区间 [left, right]。 进入一个 while 循环条件是 left 小于等于 right即区间不为空。 在循环内部计算中间位置 mid使用 Math.floor((left right) / 2) 来确保 mid 是一个整数。 比较 nums[mid] 和 target 的值 如果 nums[mid] 小于 target则说明 target 可能在 mid 的右侧因此更新 left 为 mid 1这样新的搜索区间就变成了 [mid 1, right]。如果 nums[mid] 大于或等于 target则说明 target 可能在 mid 的左侧或 mid 本身因此更新 right 为 mid - 1这样新的搜索区间就变成了 [left, mid - 1]。 当 while 循环结束时left 指针将指向 target 应该被插入的位置。如果 target 在数组中存在left 将指向 target 的索引如果 target 不存在left 将指向 target 应该被插入的位置以保持数组的排序。 最后函数返回 left 作为结果。 这个算法的关键在于每次迭代都会将搜索区间减半这是通过比较中间元素和目标值来实现的。如果目标值在数组中算法最终会找到它如果目标值不在数组中算法会找到目标值应该被插入的位置以保持数组的排序。 这里可以自行走一遍示例因为最后返回的是left而判断最后是因为right减少导致循环结束所以得到正确结果
http://www.hkea.cn/news/14336267/

相关文章:

  • 学网站开发应该学什么微信小程序ui设计
  • 网站背景全屏免费动图制作app
  • 个人网站服务器企业所得税税收优惠
  • 百度网站推广费用多少phpstudy建设网站视频教程
  • 网站全新改版如何做江苏省建设厅网站挂证存疑名单
  • 上海网站建设小程序巢湖自助建站系统
  • 北京软件外包公司排行榜网页优化方案
  • 有哪些做问卷调查赚钱的网站photoshop下载免费版
  • 随州公司做网站国产 做 视频网站
  • 企业建站的作用是什么开一个淘宝店铺流程
  • 学校网站免费建设营销型网站是什么意思
  • 网站密码如何找回深夜的fm免费看
  • ks2e做网站如何制作家具网站
  • 哪里有做美食的视频网站石家庄+外贸网站建设公司
  • 成都网站定制开发服务器能放多少个网站
  • 深圳网站建设送域名最好的营销型网站建设公司
  • 开发一个游戏需要多少钱网站搬家seo
  • 自己怎么做电影网站吗明星网站设计
  • 井陉网站建设申请备案 关网站
  • 京东的网站规划与建设市场分析wordpress输入密码无法登陆
  • 角门网站建设网页制作与网站建设初学者必看教程
  • 个人网站建设知乎亚当学院网站视频建设教程
  • 网站建设培训教程仿微博网站模板
  • 微网站制作需要多少钱网站的后台
  • 做贵网站多少钱中山网站建设找阿江
  • 与企业网站做接口做自适应网站注意事项
  • 网站建设与运营 好考吗做wd网站实训报告总结
  • 小说网站设计模板榆林网站开发
  • 建设网站的那个公司好营销中国
  • 网站怎么排名wordpress f5