力扣10-搜索插入位置

一.题目

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。

请必须使用时间复杂度为 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

二.代码

cs 复制代码
int searchInsert(int* nums, int numsSize, int target) 
{
    int i=0;
    if(nums[numsSize-1]<target)
    {
        return numsSize;
    }
    for(i=0;i<numsSize;i++)
    {
        if(nums[i]>=target)
        {
            return i;
        }
    }
    return 0;
}

三.代码解释

首先检查目标值是否大于数组的最后一个元素,如果是,则返回数组的长度,因为此时目标值应该插入到数组的末尾。然后,通过遍历数组,一旦找到大于或等于目标值的元素,返回该元素的索引。如果遍历完数组都不满足条件,说明目标值小于数组的所有元素,将其插入到数组的起始位置,此时返回 0。

相关推荐
下一站春风里1 小时前
位运算完整学习笔记:按位与(&)+ 异或(^)
开发语言·c++·算法
DRobot1 小时前
【机械制图与CAD实战(二十五)】螺纹的表示方法
算法·机械制图
用户老李1 小时前
卡尔曼滤波自学教程 10:无迹卡尔曼滤波(UKF)
算法
深圳市益普科技有限公司3 小时前
半导体良率管理YMS:良率与设备参数的相关性,先拉哪几组数据
人工智能·python·算法
挖井观天3 小时前
《Java数据结构》第一讲:顺序表
数据结构
程序员清风4 小时前
算法题中的边界条件、测试与调试
开发语言·算法·kotlin
炘爚4 小时前
数据结构算法总结
数据结构·python·算法
Dageno_AI4 小时前
ChatGPT 不再引用 Reddit 之后,还值得在 Reddit 上做 AI 可见度吗?
算法
hetao17338375 小时前
2026-10-25 hetao1733837 的刷题记录
c++·算法
Jsundoku5 小时前
第七章 机器学习 -- 其他经典算法
人工智能·算法·机器学习