首页 > 其他分享 >leetcode35. 搜索插入位置(简单)

leetcode35. 搜索插入位置(简单)

时间:2022-11-22 20:23:25浏览次数:48  
标签:return target nums int 插入 搜索 数组 leetcode35 left

题目描述:

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

请必须使用时间复杂度为 O(log n) 的算法。

示例:

image

题解一:

class Solution {
    public int searchInsert(int[] nums, int target) {
			//暴力遍历
        for(int i=0;i<nums.length;i++){
            if(nums[i]>=target){
                return i;
            }
        }return nums.length;
    }
}

题目思路:

  • 如果数组中的值大于或者等于target,直接return
  • 如果全部遍历完证明target是最大的数,直接插入末尾

题解二:

class Solution {
    public int searchInsert(int[] nums, int target) {
        // 二分法
        int left = 0, right = nums.length - 1;
        while(left <= right){
            // 防止 left+right 整型溢出
            int mid = left + (right - left) / 2;
            if(nums[mid] == target){
                return mid;
            }else if(nums[mid] < target){
                left = mid + 1;
            }else if(nums[mid] > target){
                right = mid - 1;
            }
        }
        return left;
    }
}

标签:return,target,nums,int,插入,搜索,数组,leetcode35,left
From: https://www.cnblogs.com/xiaowangaixuexi/p/16916336.html

相关文章

  • vue中利用pinyin-pro纯前端实现拼音的模糊搜索
    1、安装配置插件pinyin-pro官网网址:pinyin-pro-npm(npmjs.com) npm安装npminstallpinyin-pro 项目中引入import{pinyin}from'pinyin-pro'; 2.......
  • linux系统中sed命令在指定行前(后)插入内容
    https://www.cnblogs.com/liujiaxin2018/p/14988775.html1、测试数据如下:[root@centos79test]#lsa.txt[root@centos79test]#cata.txt345dg3sg8ks......
  • ClickHouse关于插入重复数据丢失问题
     ClickHouse关于插入重复数据丢失问题 对复制表多次写入重复数据无效。如下:dev-app76:)selectcount(*)fromzkm;SELECTcount(*)FROMzkmQueryid:8e2bb......
  • 搜索与图论篇——DFS和BFS
    搜索与图论篇——DFS和BFS本次我们介绍搜索与图论篇中DFS和BFS,我们会从下面几个角度来介绍:DFS和BFS简介DFS数字排序DFS皇后排序DFS树的重心BFS走迷宫BFS八数码BFS......
  • 在博客园随笔中插入3D分子模型
    技术背景博主对前端技术不甚了解,只是想在博客中直接展示一些已有的分子结构,而且需要是可以交互的。而我们了解到通过3Dmol这样的前端工具可以实现,通过在博客园随笔中直接......
  • 3. 搜索与图论(I)
    3.搜索与图论(I)3.1DFS(深度优先搜索)例题:AcWing842.排列数字题目:给你一个数\(n\),按字典序将长度为\(n\)的全排列全部输出。\(1\len\le9\)。思路:运用DFS暴力搜......
  • 33. 搜索旋转排序数组
    整数数组 nums 按升序排列,数组中的值 互不相同 。在传递给函数之前,nums 在预先未知的某个下标 k(0<=k<nums.length)上进行了 旋转,使数组变为 [nums[k],nums[k+......
  • 【算法】Java解答有序链表转换二叉搜索树,从中序与后序遍历序列构造二叉树
    有序链表转换二叉搜索树给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差......
  • 定自义搜索
    非常简单var table=$('#example').DataTable();//#myInputisa<inputtype="text">element$('#myInput').on( 'keyup', function (){  table.sea......
  • 全文搜索引擎solr使用过程中遇到的一些问题分析
    产生背景​ 在整个项目中实现商品搜索功能电商项目中,因为用户有时候不是多么清楚他所需要的东西的名称或者商店的名称,有时候仅仅是只知道他所需要的商品是干嘛用的,又或者是......