首页 > 其他分享 >Q2 LeetCode35 搜索插入位置

Q2 LeetCode35 搜索插入位置

时间:2024-06-01 15:21:40浏览次数:25  
标签:Q2 nums int 位置 mid 插入 right LeetCode35

          //有序查找,无重复元素,要求时间复杂度O(logn)
          //如果有目标元素则返回位置
          //如果没有目标元素,最后一次right位置后面就是该插入的位置

第一次提交错误认为最后一次mid位置是插入的位置,其实最后一次right位置才是正确的插入位置(升序数组)

 1 class Solution{
 2     public int searchInsert(int[] nums, int target){
 3         //有序查找,要求时间复杂度O(logn)
 4         //如果有目标元素则返回位置
 5         //如果没有目标元素,最后一次right位置后面就是该插入的位置
 6        
 7         int left=0;
 8         int right=nums.length-1;
 9         int mid=-1;
10         while(left<=right){
11             mid=(left+right)/2;
12             if(nums[mid]>target){
13                 right=mid-1;
14             }
15             else if(nums[mid]<target){
16                 left=mid+1;
17             }
18             else{
19                 return mid;
20             }
21         }
22         return right+1;
23     }
24 }

 

标签:Q2,nums,int,位置,mid,插入,right,LeetCode35
From: https://www.cnblogs.com/cff1/p/18226010

相关文章

  • 插入排序
    //通过指针交换两个元素的值voidswap(int*a,int*b){inttemp=*a;*a=*b;*b=temp;}/*****************************************************************name;InsertSort*function:sort*parameter;*@intarr[]*......
  • 程序分享--大厂常见算法/编程面试题:O(1) 时间插入、删除和获取随机元素
    关注我,持续分享逻辑思维&管理思维&面试题;可提供大厂面试辅导、及定制化求职/在职/管理/架构辅导;有意找工作的同学,请参考博主的原创:《面试官心得--面试前应该如何准备》,《面试官心得--面试时如何进行自我介绍》, 《做好面试准备,迎接2024金三银四》。或关注博主免费专栏【程序......
  • 数据结构排序算法之直接插入排序与希尔排序【图文详解】
    P.S.:以下代码均在VS2019环境下测试,不代表所有编译器均可通过。P.S.:测试代码均未展示头文件stdio.h的声明,使用时请自行添加。                                             博主主页:LiUEEEEE         ......
  • 软件工程小米便签新增功能之--插入图片
     【软件应用开发】小米便签APP维护开发_小米便签二次开发-CSDN博客本文章旨在对上述文章一对一详细介绍,以方便入门的萌新使用:    我们规划一下,一。我们介绍一点小技巧:    1.搜索:双击shift可以搜索,在末尾最后一步的时候有示例。    2.自动改错:停......
  • 代码随想录算法训练营第第22天 | 235. 二叉搜索树的最近公共祖先 、701.二叉搜索树中
    二叉搜索树的最近公共祖先相对于二叉树的最近公共祖先本题就简单一些了,因为可以利用二叉搜索树的特性。题目链接/文章讲解:https://programmercarl.com/0235.二叉搜索树的最近公共祖先.html视频讲解:https://www.bilibili.com/video/BV1Zt4y1F7ww/***@param{TreeNode}......
  • 数学建模--LaTex插入表格详细介绍
    目录1.插入普通的边线表格3.三线表的插入和空格说明3.基于复杂情况下表格的插入1.插入普通的边线表格(1)像这个右边的生成的这个比较普通的表格,我们是使用下面的代码实现的:(2)和插入一个一个图片一样,这个表格的插入也要构建一个环境,这个环境就是在这个\begin的后面加上{t......
  • 代码随想录算法训练营第二十二天 | 235. 二叉搜索树的最近公共祖先、701.二叉搜索树中
    235.二叉搜索树的最近公共祖先题目链接:https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-search-tree/文档讲解:https://programmercarl.com/0235.%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E7%9A%84%E6%9C%80%E8%BF%91%E5%85%AC%E5%85%B1%E7%A5%......
  • 调用mybatisPlus的 Iservice中的save方法,后台日志打印出来Insert语句,但是没插入到数据
    问题:调用mybatisPlus的Iservice中的save方法,后台日志打印出来Insert语句,但是没插入到数据库表中;一共向两个表中插入数据;weather,向天气表中插入数据成功,但是在异步任务中向三方同步日志表中 third_request_log是只打印出了成功Insert语句和参数,但是实际未插入成功:代码如下:......
  • @Transactional(rollbackFor = Exception.class)注解的方法A,此方法A中插入成功,再调用
    当你在一个带有@Transactional注解的方法中插入数据成功,然后调用另一个方法(无论该方法是否也带有@Transactional注解),但发现第二个方法中的插入语句没有实际插入数据,但打印出了insert语句,这通常意味着事务没有按预期执行或事务被提前提交了。这里有几个可能的原因和解决方案:自......
  • 数据结构的直接插入排序(C语言版)
    一.直接插入排序的基本概念1.直接插入排序的基本思想将数组分为已排序和未排序两部分。每次从未排序部分取出一个元素,将其插入到已排序部分的合适位置,使得已排序部分保持有序。重复步骤2,直到整个数组有序。2.排序的工作原理假设前i-1个元素已经有序,现在要将......