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

力扣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

二.代码

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。


http://www.kler.cn/a/512659.html

相关文章:

  • 【CPU】RISC-V中的PMP物理内存保护单元
  • 【vitePress】基于github快速添加评论功能(giscus)
  • Zabbix监控山特UPS电源:实现高效监控与告警
  • 微服务与docker
  • Kinova仿生机械臂Gen3搭载BOTA 力矩传感器SeneOne:彰显机器人触觉 AI 与六维力传感的融合力量
  • iOS 性能优化:实战案例分享
  • uni-app连接EventSource
  • 嵌入式硬件篇---ADC模拟-数字转换
  • MySQL表的增删改查(基础)CRUD
  • 【PCIe 总线及设备入门学习专栏 6.2 -- PCIe VDM (Vendor Defined Messages)】
  • Kubernetes 集群网络及服务暴露方式详解
  • 【Linux 重装】Ubuntu 启动盘 U盘无法被识别,如何处理?
  • 一款功能强大的互联网资产测绘引擎-CyberEdge
  • Dockerfile -> Docker image -> Docker container
  • Docker 学习总结(85)—— docker cp 使用总结
  • 2025 最新flutter面试总结
  • 不用编程即可实现多台PLC的MQTT协议JSON文件发布与订阅的智能网关的配置说明
  • Slate文档编辑器-Node节点与Path路径映射
  • dl学习笔记:(5)深度神经网络的正向传播
  • 使用minio高性能存储图片
  • 电子应用设计方案91:智能AI花洒系统设计
  • C# 常用的文件处理方法
  • 【STM32-学习笔记-12-】PWR电源控制
  • 数据结构(精讲)----绪论
  • C# 委托(Delegate)的使用方法及使用场景
  • MySQL可直接使用的查询表的列信息