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

相关推荐
RTC老炮18 小时前
webrtc弱网-ReceiveSideCongestionController类源码分析及算法原理
网络·算法·webrtc
21号 118 小时前
9.Redis 集群(重在理解)
数据库·redis·算法
码农多耕地呗19 小时前
力扣146.LRU缓存(哈希表缓存.映射+双向链表数据结构手搓.维护使用状况顺序)(java)
数据结构·leetcode·缓存
晚枫~19 小时前
数据结构基石:从线性表到树形世界的探索
数据结构
hadage23320 小时前
--- 数据结构 AVL树 ---
数据结构·算法
liu****20 小时前
8.list的使用
数据结构·c++·算法·list
立志成为大牛的小牛20 小时前
数据结构——二十六、邻接表(王道408)
开发语言·数据结构·c++·学习·程序人生
阿拉丁的梦20 小时前
后期材质-屏幕冲击径向模糊
算法·材质
weixin_4296302620 小时前
实验二-决策树-葡萄酒
算法·决策树·机器学习
茉莉玫瑰花茶21 小时前
floodfill 算法(dfs)
算法·深度优先