【LeetCode热题100】搜索插入位置

leetcode原地址:https://leetcode.cn/problems/search-insert-position

描述

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

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

提示:

1 <= nums.length <= 104

-104 <= nums[i] <= 104

nums 为 无重复元素 的 升序 排列数组

-104 <= target <= 104

题解

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

执行结果

相关推荐
loser~曹4 分钟前
基于快速排序解决 leetcode hot215 查找数组中第k大的数字
数据结构·算法·leetcode
Dream it possible!10 分钟前
LeetCode 热题 100_打家劫舍(83_198_中等_C++)(动态规划)
c++·算法·leetcode·动态规划
zhouziyi070115 分钟前
【蓝桥杯14天冲刺课题单】Day 8
c++·算法·蓝桥杯
SylviaW0819 分钟前
python-leetcode 62.搜索插入位置
数据结构·算法·leetcode
舔甜歌姬的EGUMI LEGACY2 小时前
【算法day28】解数独——编写一个程序,通过填充空格来解决数独问题
算法
welkin2 小时前
KMP 个人理解
前端·算法
半桔2 小时前
红黑树剖析
c语言·开发语言·数据结构·c++·后端·算法
eason_fan2 小时前
前端面试手撕代码(字节)
前端·算法·面试
今天_也很困2 小时前
牛客2025年愚人节比赛
c++·算法
Joe_Wang52 小时前
[图论]拓扑排序
数据结构·c++·算法·leetcode·图论·拓扑排序