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

吴江网站建设济南网站建设技术支持

吴江网站建设,济南网站建设技术支持,合肥做网页的网络公司,互联网推广平台题目 给定一个排序数组和一个目标值#xff0c;在数组中找到目标值#xff0c;并返回其索引。 如果目标值不存在于数组中#xff0c;返回它将会被按顺序插入的位置。 示例 示例 1:输入: nums [1,3,5,6], target 5 输出: 2 示例 2:输入: nums [1,3,5,6], target 2 输出: …题目 给定一个排序数组和一个目标值在数组中找到目标值并返回其索引。 如果目标值不存在于数组中返回它将会被按顺序插入的位置。 示例 示例 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 解题思路 方法一首先本题思路找到第一个大于等于target的元素位置即插入位置。所以直接遍历数组找到第一个大于等于target的元素位置就是结果。但本题要求时间复杂度为log(n),那么需要进行优化。方法二二分查找。算法思路将数组分成两份left0mid(left right) / 2rightlength-1。根据mid与target的大小进一步划分区域。如果midtarget说明target在0到mid之间。反之在mid到length-1之间。将范围缩小(left mid 1 或 right  mid - 1 ), 继续比较。本题可以用二分查找的思想不过算法是查找相等数据本题需要查找第一个大于等于的数据。 这里说明下为什么以left进行返回 本题结果即找到第一个大于等于target的元素。在二分查找的过程中遇到的第一个mid对应元素大于target时mid对应的元素不一定是第一个大于target元素只是二分查找过程中遇到的第一个。此时需要继续缩小范围就继续比较。 那么什么情况下是第一个呢首先mid对应元素和target相等的时候直接返回mid位置即插入位置。大于的情况因为数组中不存在target那么一定会遍历到leftrightmid的时候如果这个元素大于target根据二分查找算法原理此时right mid - 1leftright跳出循环left即结果;如果这个元素小于targetleft mid1leftright跳出循环left即结果(已经加1)。这里不管是大于还是小于mid的其他位置都是已经确认了大于或小于target了。那么如果这个位置小于target那么它后面的就是第一个大于target的如果这个位置大于target那么他就是第一个大于target的。代码(Java) // 方法一 class Solution {public int searchInsert(int[] nums, int target) {if (nums null || nums.length 0) {return -1;}if (nums[0] target) {return 0;}if (nums[nums.length - 1] target) {return nums.length;}for (int i 0; i nums.length; i) {if (nums[i] target) {return i;}}return nums.length;} } // 方法二 class Solution {public int searchInsert(int[] nums, int target) {if (nums null || nums.length 0) {return -1;}if (nums[0] target) {return 0;}if (nums[nums.length - 1] target) {return nums.length;}int left 0;int right nums.length - 1;while (left right) {int mid (left right) / 2;if (nums[mid] target) {return mid;} else if (nums[mid] target) {left mid 1;} else {right mid - 1;}}return left;} }
http://www.pierceye.com/news/670467/

相关文章:

  • 青岛谁优化网站做的好微营销工具
  • 怎么才能建立一个网站卖东西php做网站用html做吗
  • 西安公司网站设计费用免费外国网站浏览器
  • 如何加快网站打开速度浦东新区建设机械网站
  • 求网站制作焦作网站建设的公司
  • 用python做网站不常见久久建筑网外墙岩棉保温板施工工艺
  • 做刷票的网站广告牌的样式大全
  • 手机登录网站怎么建设网站风格和功能设计方案
  • 网站报价天津网站在哪里建设
  • 湖北专业网站建设维修电话福清网站商城建设
  • 网站建设模块怎么使用线上注册公司流程和费用
  • 营销型网站设计内容wordpress加速优化插件
  • 设计坞网站官方下载4399网页游戏入口
  • 太原百度网站建设如何联系网站管理员
  • 海东高端网站建设公司视频网站 费用
  • 可以帮别人备案网站吗手机建网站公司
  • 四川建设厅网上查询网站信用网站系统建设方案
  • 克隆网站后台做系统用哪个网站好
  • html5 手机网站页面实例wordpress 路由404
  • 百度地图嵌入公司网站wordpress如何去掉分类里面的大字
  • 山东住房与城乡建设网站够完美网站建设
  • 班级网站建设首页报告如何查询一个网站是否备案
  • 艺术设计类网站石家庄公司的网站设计
  • 舞钢网站建设企业做网站需要什么软件
  • 网站开发上市公司专业的网站建设价格低
  • 备案网站有哪些资料公司名字大全四个字
  • 网站推广预期达到的目标建湖人才网手机版
  • 营销网站设计公司排名wordpress图片缓冲
  • 山西建设官方网站第三方网站流量统计
  • 企业网站用wordpress龙岗网站建设网站排名优化