当前位置: 首页 > 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.zqtcl.cn/news/670467/

相关文章:

  • wordpress删除用户头像昆明做网站优化的公司
  • 西安响应式网站网页设计的模板
  • 古装衣服店网站建设页面网站执行速度
  • 哪里的网站建设哈尔滨网络优化推广公司
  • 给网站做友情链接凡科网干嘛的
  • 网站经常出现502牧星网站建立
  • 个人网站建设的收获dw网站导航怎么做
  • 徐州网站设计快速排名网站
  • dede手机网站跳转口碑营销平台
  • 开一个素材设计网站怎么做的网页传奇手机版
  • 网站开发后端框架什么意思树莓派3 部署wordpress
  • 站长之家最新域名查询合肥网站建设5k5
  • h5做网站什么软件北京公司注销流程及费用
  • 淮北市相山区建设局网站合肥比较好的网站制作
  • 松岗营销型网站建设公司网站需要服务器吗
  • 图书馆网站信息化建设中国seo第一人
  • 域名网站负责人的责任一键制作单页网站
  • 南宁建设局网站建设有限公司
  • 湛江建设工程交易中心网站企业营销网站建设步骤
  • 网站所有者查询罗湖做网站的公司
  • 网站推广的目标是什么如何提高网站在百度的排名
  • 建设网站基础wordpress 网络图片
  • 深圳网站搜索优化工具义乌公司网站
  • 百度搜索网站带图片sem是什么品牌
  • 百度网盘app下载辽宁seo
  • 一般做网站用什么软件企业管理咨询服务机构
  • 达内培训网站开发金融公司网站 html
  • 珠海网站制作推荐微信营销和微博营销的区别
  • 电影网站如何做5网站建设公司
  • 河南网站优化公司哪家好南山网站设计线