力扣-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的位置。

相关推荐
圣保罗的大教堂3 小时前
leetcode 3756. 连接非零数字并乘以其数字和 II 中等
leetcode
Logic1013 小时前
C语言/数据结构排序题解:三个数的最大乘积——排序后比较两种候选情况
c语言·数据结构·数组·排序·时间复杂度·算法题·负数处理
朝朝辞暮i4 小时前
C++ 第 31C 课:Subscriber 到底是什么
开发语言·c++·算法
殷色玫瑰4 小时前
C++ string类详解:常用接口、字符串操作与模拟实现
java·linux·c语言·开发语言·数据结构·c++
Evand J4 小时前
【MATLAB例程】三维RRT+APF路径规划与AOA-TDOA融合定位算法。附代码的下载链接
算法·matlab·路径规划·rrt·tdoa·apf·aoa
海绵宝宝转agent5 小时前
leetCode100算法开源笔记分享
笔记·算法
写后端的胖头鱼6 小时前
时间复杂度 & 空间复杂度
java·数据结构·算法·时间复杂度·空间复杂度
多弗朗皮卡丘6 小时前
数据结构番外:环形队列
数据结构·c
hahaha60166 小时前
黑体轨迹和色温--光源白点
人工智能·嵌入式硬件·算法·计算机视觉
海绵宝宝转agent6 小时前
基于Redis ZSet+AOP+注解实现限流注解算法
数据库·redis·算法