首页 > 编程语言 >#yyds干货盘点# LeetCode程序员面试金典:搜索插入位置

#yyds干货盘点# LeetCode程序员面试金典:搜索插入位置

时间:2023-04-24 23:32:33浏览次数:47  
标签:yyds target nums int 金典 示例 目标值 LeetCode left

题目:

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

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

代码实现:

class Solution {
    public int searchInsert(int[] nums, int target) {
        int n = nums.length;
        int left = 0, right = n - 1, ans = n;
        while (left <= right) {
            int mid = ((right - left) >> 1) + left;
            if (target <= nums[mid]) {
                ans = mid;
                right = mid - 1;
            } else {
                left = mid + 1;
            }
        }
        return ans;
    }
}

标签:yyds,target,nums,int,金典,示例,目标值,LeetCode,left
From: https://blog.51cto.com/u_13321676/6222013

相关文章

  • #yyds干货盘点# LeetCode面试题:分隔链表
    1.简述:给你一个链表的头节点head和一个特定值x,请你对链表进行分隔,使得所有小于x的节点都出现在大于或等于x的节点之前。你应当保留两个分区中每个节点的初始相对位置。 示例1:输入:head=[1,4,3,2,5,2],x=3输出:[1,2,2,4,3,5]示例2:输入:head=[2,1],x=2输出:[1,2......
  • [Leetcode]返回链表开始入环的第一个节点
    力扣链接思路一:快慢指针法一个指针从相遇点走,一个指针从起始点走,会在入口点相遇.最终代码:/***Definitionforsingly-linkedlist.*structListNode{*intval;*structListNode*next;*};*/structListNode*detectCycle(structListNode*head){......
  • LeetCode 40.组合总和II
    1.题目:给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用 一次 。注意:解集不能包含重复的组合。示例 1:输入:candidates= [10,1,2,7,6,1,5],target= ......
  • 程序员面试金典---15
    八皇后直接上代码:/***@param{number}n*@return{string[][]}*/varsolveNQueens=function(n){//创建一个长度为n的一维数组,其元素值为'.',然后再利用map()方法将其转化成一个n*n的二维数组board。我们可以把它看成nxn的棋盘,初始化所有位置都是没有皇......
  • # yyds干货盘点 #老师好,请教下pycharm 里面怎么安装 openyxl?
    大家好,我是皮皮。一、前言前几天在Python钻石交流群【不争】问了一个Python库安装的基础问题,这里拿出来给大家分享下。下图是他的报错截图:二、实现过程这个问题其实不太难,不仔细看的话,还真看不出来啥问题,这里【狂吃山楂片】指出,库名字写的不对,应该是openpyxl,粉丝自己写的是openyxl,......
  • leetcode 550 游戏玩法分析IV
    游戏玩法分析 selectround(avg(a.event_dateisnotnull),2)asfractionfrom(selectplayer_id,min(event_date)asevent_datefromactivitygroupbyplayer_id)aspleftjoinactivityasaonp.player_id=a.player_idanda.event_date=date_......
  • 【DP】LeetCode 221. 最大正方形
    题目链接221.最大正方形思路分析动态规划题目的时候只需要考虑最后一个阶段,因为所有的阶段转化都是相同的,考虑最后一个阶段容易发现规律在数组的动态规划问题中,一般dp[i]都是表示以nums以前i个元素组成(即nums[i-1])的状态;dp[i][j]分别表示以nums1前i个元素(即nu......
  • LeetCode 周赛 342(2023/04/23)容斥原理、计数排序、滑动窗口、子数组 GCB
    本文已收录到AndroidFamily,技术和职场问题,请关注公众号[彭旭锐]提问。大家好,我是小彭。前天刚举办2023年力扣杯个人SOLO赛,昨天周赛就出了一场Easy-Easy-Medium-Medium的水场,不得不说LeetCode是懂礼数的......
  • leetcode343. 整数拆分
    classSolution{public:intf[60];//f[i]记录i能拆出的最大乘积intintegerBreak(intn){for(inti=2;i<=n;i++)for(intj=1;j<i;j++)//枚举最后一个拆出的数字,这里不能只循环到i/2f[i]=max(f[i],max(j*f[i-j],j*(i-j)));......
  • leetcode377.组合总和IV
    classSolution{public:longlongf[1010];//f[i]表示总和为i的选法个数intcombinationSum4(vector<int>&nums,inttarget){intn=nums.size();f[0]=1;for(inti=0;i<=target;i++)for(intj=0;j<n;j++)......