力扣-35.搜索插入位置

题目描述

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

请必须使用时间复杂度为 O(log n) 的算法。

java 复制代码
class Solution {
    public int searchInsert(int[] nums, int target) {
        int low = 0, high = nums.length - 1;
        while (low <= high){
            int mid = (low+high)/2;
            if(target > nums[mid]){
                low = mid+1;
            }else if(target<nums[mid]){
                high = mid-1;
            }else{
                return mid;
            }
        }
        return low;
    }
}

小结:第一个注意low=high要进循环,第二个注意找不到返回low,至于为什么我也想了很久,经过多次尝试,当循环结束时,low正好移动到了第一个大于等于target的位置。

相关推荐
学学酱快乐1 小时前
2026年PMP考试生命周期选择决策树精讲:从需求判断到混合型统一框架的应试全攻略
算法·决策树·机器学习·pmp新版考试大纲·pmp新题型·pmp培训哪家好·pmp培训机构推荐
傅科摆 _ py1 小时前
动态规划复习
算法·动态规划
Wang's Blog2 小时前
PostgreSQL笔记49:向量检索核心算法、索引调优与过滤策略深度解析
笔记·算法·postgresql
疯狂打码的少年2 小时前
【数据结构】交换类排序:冒泡与快速排序
数据结构·笔记·算法·排序算法
Nil2082 小时前
leetcode 108有序数组转换为二叉搜索树
数据结构·算法·leetcode
高频因子挖掘机2 小时前
QuantDash 成交量单位统一实战:从“手”到“股”的跨市场量化数据清洗全流程
后端·算法·github
hn小菜鸡2 小时前
LeetCode 763、划分字母区间
数据结构·算法·leetcode
Escalating_xu3 小时前
【C++ STL简介】从六大组件到容器、迭代器与算法协作
java·c++·算法
纪念 2293 小时前
算法二叉树(一)
算法
疯狂打码的少年3 小时前
【数据结构】哈希表:构造与冲突处理
数据结构·笔记·哈希算法·散列表