Leetcode35 —— 搜索插入位置(二分查找)

题目:

题解:

最直接的做法是线性遍历,如下代码,但这样的时间复杂度为(n),达不到题目要求。

复制代码
class Solution {
public:
    int searchInsert(vector<int>& nums, int target) {
        for(int i = 0; i<nums.size();i++){
            if(nums[i] >= target){return i;}
            
        }
        return nums.size();
    }
};

结合二分查找法:

复制代码
class Solution {
public:
    int searchInsert(vector<int>& nums, int target) {
        int n = nums.size();
        int ans = n, left = 0,right = n-1; //ans是最终求解的位置
        while(left <= right){
            int mid = (left + right)/2;
            if(target <= nums[mid]){
                ans = mid;
                right = mid-1;
            }else{
                left = mid+1;
            }
        }    
        return ans;
        }
};
相关推荐
紫陌涵光1 小时前
538. 把二叉搜索树转换为累加树
c++·算法·leetcode
yi.Ist1 小时前
牛客寒假训练营3
c++·学习·算法
24白菜头1 小时前
2026-2-23:LeetCode每日一题(动态规划专项)
笔记·学习·算法·leetcode·动态规划
小龙报2 小时前
【算法通关指南:数据结构与算法篇】二叉树相关算法题:1.美国血统 American Heritage 2.二叉树问题
c语言·数据结构·c++·算法·深度优先·广度优先·宽度优先
啊阿狸不会拉杆2 小时前
《计算机视觉:模型、学习和推理》第 9 章-分类模型
人工智能·python·学习·算法·机器学习·计算机视觉·分类
yyjtx2 小时前
DHU上机打卡D29
数据结构·c++·算法
多恩Stone2 小时前
【3D-AICG 系列-13】Trellis 2 的 SC-VAE 的 Training Loss 细节
人工智能·算法·3d·aigc
Aaron15882 小时前
RFSOC与ADRV9009、AD9026、AD9361技术指标及应用场景对比分析
人工智能·算法·fpga开发·硬件工程·信息与通信·信号处理·基带工程
元亓亓亓2 小时前
考研408--数据结构--day16--内部排序(下)
数据结构·408·内部排序