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

赣州网站建设 赣州网页设计网站交易网

赣州网站建设 赣州网页设计,网站交易网,凡科做网站需要备案吗,公司网站开发费用怎么做账1. 题目链接 LeetCode 35. 搜索插入位置 2. 题目描述 给定一个升序排列的整数数组 nums 和一个目标值 target,要求: 若 target 存在于数组中,返回其索引。若不存在,返回其应插入的位置,使得插入后数组仍保持有序。 …
1. 题目链接

LeetCode 35. 搜索插入位置


2. 题目描述

给定一个升序排列的整数数组 nums 和一个目标值 target,要求:

  • target 存在于数组中,返回其索引。
  • 若不存在,返回其应插入的位置,使得插入后数组仍保持有序。

示例

  • 输入:nums = [1,3,5,6], target = 5 → 输出:2
  • 输入:nums = [1,3,5,6], target = 2 → 输出:1

3. 示例分析
  1. 目标存在
    • nums = [1,3,5,6], target = 5,直接返回索引 2
  2. 目标不存在
    • nums = [1,3,5,6], target = 2,插入到索引 1,数组变为 [1,2,3,5,6]

4. 算法思路

二分查找法

  1. 初始化指针left = 0, right = nums.size() - 1
  2. 循环缩小范围
    • 计算中间索引 mid = left + (right - left) / 2(防止整数溢出)。
    • nums[mid] < target,目标在右半区间,调整 left = mid + 1
    • nums[mid] ≥ target,目标在左半区间或等于当前值,调整 right = mid
  3. 终止条件:当 left == right 时,检查 nums[left]target 的关系:
    • nums[left] < target,返回 left + 1
    • 否则,返回 left

5. 边界条件与注意事项
  1. 空数组处理:用户代码未显式处理空数组,若 nums 为空,访问 nums[left] 会导致越界错误。需增加:
    if (nums.empty()) return 0;
    
  2. 目标值大于所有元素:循环结束后 left 指向末尾,nums[left] < target 时返回 left + 1,正确。
  3. 重复元素:返回第一个匹配或插入位置(符合题意)。

6. 代码实现
class Solution 
{
public:int searchInsert(vector<int>& nums, int target) {if (nums.empty()) return 0;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 left + 1; return left;}
};

在这里插入图片描述


暴力枚举法与二分查找法对比图表

对比维度暴力枚举法二分查找法
核心思想遍历数组,找到第一个大于等于 target 的位置。利用有序性,每次将搜索范围缩小一半,定位插入位置。
时间复杂度O(n)(遍历所有元素)。O(log n)(每次缩小一半范围)。
空间复杂度O(1)(无需额外存储)。O(1)(仅需常数变量记录指针)。
实现方式单层循环逐个比较元素。循环调整左右指针,计算中间索引。
适用场景无序数组、极小数据规模(n ≤ 100)。有序数组、大规模数据(n ≥ 1e6)。
优点实现简单,不依赖数组有序性。时间复杂度极低,适合处理大规模数据。
缺点数据规模大时性能极差(例如 n=1e6 时需 1e6 次操作)。需显式处理空数组和越界问题,仅适用于有序数组。
http://www.dtcms.com/wzjs/191117.html

相关文章:

  • 制作网页时一般把图像转化为哪几种格式?为什么?重庆seo网页优化
  • 长治门户网济南seo优化公司助力排名
  • 下单的网站建设教程软文推广案例
  • jsp网站开发遇到问题长沙seo优化推荐
  • 17Z一起做网站广州站免费网站入口在哪
  • web开发包括哪些网站推广优化的原因
  • 幼儿园资质做网站需要什么资质聊城seo整站优化报价
  • 枣庄住房和城乡建设厅网站手机百度seo快速排名
  • 关于幼儿建设网站pptseo 优化 服务
  • 网站怎么查是哪家网络公司做的广东清远今天疫情实时动态防控
  • 简单分析网站的外链 以及优化的策略.真正永久免费网站建设
  • 动态网站建设 毕业答辩小红书网络营销策划方案
  • 永定路网站建设百度品牌广告多少钱一个月
  • 佛山做外贸网站特色百度关键词搜索热度
  • 怎么建设公益网站长春百度网站快速排名
  • 云南省网站备案要求网络优化seo是什么工作
  • 旅游网站开发的结论优化精灵
  • 陕西有没有做网站普查公司上海企业网站推广
  • 万网租空间 网站手机百度网页版 入口
  • 做企业网站流程上海排名优化seobwyseo
  • 镇江网站建设流程seo排名哪家正规
  • 智慧旅游网站建设中国seo关键词优化工具
  • 穹拓网站建设怎么做一个网页
  • 怎么做网站web知乎推广
  • 如何查看一个网站是用什么程序做的免费自助建站哪个最好
  • 网站建设流程步骤怎么样太原最新情况
  • wordpress 作者名称济南seo怎么优化
  • 网站公网安备链接怎么做东莞整站优化排名
  • 做网站的第一步可以看国外网站的浏览app
  • 来宾北京网站建设企业网站的作用和意义