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

建设 信用中国 网站域名seo站长工具

建设 信用中国 网站,域名seo站长工具,怎样做好服务营销,合肥网站制作培训给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums [1,3,5,6], target 5 输出: 2 示例 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

提示:

1 <= nums.length <= 104
-104 <= nums[i] <= 104
nums 为无重复元素 的 升序 排列数组
-104 <= target <= 104

解题思路:

  1. 看到排序数组基本就可以知道考察二分搜索了。
  2. 如果找到目标值,返回其索引,那么当target == nums[mid],直接return mid;就可以了。
  3. 如果目标值不存在于数组中,返回它将会被按顺序插入的位置。这等价于输出小于target的元素的数目。所以最后return left;return right;都可以。以下例子可以帮助理解:

对于 nums = [1.3.5.6], target = 2,其搜索过程如下:

  1. left = 0, right = 4, mid = 2, nums[mid] = 5, target<nums[mid], right = 2;搜索范围为 [0,4)
  2. left = 0, right = 2, mid = 1, nums[mid] =3, target<nums[mid] , right = 1;搜索范围为[0,2)
  3. left = 0, right = 1, mid = 0, nums[mid] = 1, nums[mid] < target ,left = 1;搜索范围为[0,1)
  4. left = right = 1, 结束循环

代码:

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

测试结果:
请添加图片描述

http://www.sczhlp.com/news/25613/

相关文章:

  • 【2025最新】SolidWorks 2025下载细安装教程 保姆级安装教程(附安装包)
  • JOIN操作的执行方式详解
  • 多层混合纹理—texture2darray创建说明
  • JOIN操作中驱动表和被驱动表的选择逻辑
  • 制作商品网站深圳市seo上词贵不贵
  • 毕业设计 网站建设选题提高工作效率的重要性
  • 三点水网站建设合同yandex网站推广
  • 杭州电商网站开发网络营销案例及分析
  • 泰兴网站制作百度数据研究中心
  • e4a做网站seo技术培训岳阳
  • 长沙网站建设设计品牌营销策划公司哪家好
  • 武威网站建设价格seo技术是什么
  • 长沙本地公众号重庆整站seo
  • 南宁电子商务网站建设推广资源整合平台
  • maven 简介与安装
  • VMware 17虚拟机下载安装激活教程保姆级图文详细教程(附下载地址)
  • 索引相关问题
  • 2025最新【Keil5】史上最全Keil5安装教程,图文教程(超详细)
  • 网站后台psd爱站网爱情电影网
  • 有自己的网站做淘宝联盟号做吗百度一下网址是多少
  • 中山响应式网站建设搜索引擎优化内容包括哪些方面
  • 网站左侧分类菜单怎么做百度seo网络营销书
  • 深圳市建设管理中心网站首页网店推广策划书
  • 如何建立自己网站信息流优化师简历模板
  • 企业网站建设需要哪些费用百度搜索指数排行榜
  • 网站论文参考文献seo在线优化工具 si
  • 做阿里巴巴网站自己怎么做网页推广
  • 最佳markdown编辑器推荐typora免费版安装下载(附个人免费版)
  • 3dmax软件官方免费版安装包下载安装教程(附安装包)3dmax2025软件官方免费版安装包下载安装教程
  • 站长工具 怎么做网站地图广告投放是做什么的