搜索插入位置

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

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

示例 4:

输入: nums = [1,3,5,6], target = 0
输出: 0

示例 5:

输入: nums = [1], target = 0
输出: 0

提示:

1 <= nums.length <= 104
-104 <= nums[i] <= 104
nums 为无重复元素的升序排列数组
-104 <= target <= 104


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

实现调用:

package com.kk;import java.util.Scanner;public class SearchInsertPosition {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int[] nums=new int[3];for (int i = 0; i <3; i++) {nums[i]=scanner.nextInt();}int target=scanner.nextInt();System.out.println(searchInsert(nums, target));}static int searchInsert(int[] nums, int target) {int left = 0, right = nums.length;while (left < right) {int mid = left + (right - left) / 2;if (nums[mid] >= target) {right = mid;}else {left = mid + 1;}}return left;}
}

力扣——搜索插入位置相关推荐

  1. 力扣——搜索旋转排序数组

    搜索旋转排序数组 整数数组 nums 按升序排列,数组中的值 互不相同 . 在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转, ...

  2. #力扣 LeetCode35. 搜索插入位置 #在所有 Java 提交中击败了 100.00% 的用户 @FDDLC

    题目描述: 35. 搜索插入位置 - 力扣(LeetCode) (leetcode-cn.com) Java代码: class Solution { //已有序:在数组中找到目标值,并返回其索引:如果 ...

  3. 力扣T35. 搜索插入位置 C

    来源:力扣 题目描述: 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插入的位置. 请必须使用时间复杂度为 O(log n) 的算法. 简 ...

  4. 导图整理数组1: 总结了二分查找的通用模板写法, 彻底解决几个易混淆问题, 力扣35:搜索插入位置

    此专栏文章是对力扣上算法题目各种方法的总结和归纳, 整理出最重要的思路和知识重点并以思维导图形式呈现, 当然也会加上我对导图的详解. 目的是为了更方便快捷的记忆和回忆算法重点(不用每次都重复看题解), ...

  5. 力扣35. 搜索插入位置python实现

    35. 搜索插入位置 一.问题描述 二.算法思想   题目中的数组是排好序的,从头开始遍历,当发现列表中元素的值与target相等时返回该元素在列表中的位置i,否则继续查找,当发现列表中的元素比tar ...

  6. [力扣] 501. 二叉搜索树中的众数

    501 二叉搜索树中的众数 给定一个有相同值的二叉搜索树(BST),找出 BST 中的所有众数(出现频率最高的元素). 例如: 给定 BST [1,null,2,2], 返回[2]. 提示:如果众数超 ...

  7. 《LeetCode力扣练习》第33题 搜索旋转排序数组 Java

    <LeetCode力扣练习>第33题 搜索旋转排序数组 Java 一.资源 题目: 整数数组 nums 按升序排列,数组中的值 互不相同 . 在传递给函数之前,nums 在预先未知的某个下 ...

  8. python旋转排序数组_LeetCode(力扣)——Search in Rotated Sorted Array 搜索旋转排序数组 python实现...

    题目描述: python实现Search in Rotated Sorted Array 搜索旋转排序数组 中文:假设按照升序排序的数组在预先未知的某个点上进行了旋转. ( 例如,数组 [0,1,2, ...

  9. 回溯法解决力扣79题单词搜索

    回溯法解决力扣79题单词搜索 给定一个 m x n 二维字符网格 board 和一个字符串单词 word .如果 word 存在于网格中,返回 true :否则,返回 false . 单词必须按照字母 ...

最新文章

  1. 牛客练习赛64 - B Dis2(树,基础图论)
  2. 英特尔详解5G将如何助力VR的未来发展
  3. 聚类时需要标准化吗_打球时意外受伤,同伴需要担责吗?
  4. python 找不到ssl模块问题 no module named _ssl
  5. 恒驰机器人_恒大汽车基地:2545台机器人为恒驰“效力”
  6. linux链路状态,网卡一配地址,链路状态就down了,求解决方法!
  7. 免费下载 | 超级APP背后的移动端技术大揭秘
  8. 利用python去除红章
  9. 科普 | 什么是Service Mesh技术?
  10. 使用intellij查看scala变量的具体类型
  11. 负债的阶梯,你在第几层?
  12. mybatis学习笔记-04-常见错误排查
  13. 数据库笔记08:实现索引
  14. mysql运维监控工具排名_运维监控工具
  15. MacBookPro你真的会使用吗?
  16. 谈谈Line-height的深入理解 与 应用
  17. 视觉SLAM论文list
  18. 迭代最近点(Iterative Closest Point, ICP)算法
  19. STC15W408AS的485串口实现自发自收
  20. 五分之一金融机构将从2018年开始探索加密货币交易

热门文章

  1. 现代软件工程 第3-6章 作业
  2. 48. Rotate Image java solutions
  3. kalman filter using python
  4. .NET Framework 3.5 sp1离线安装方案
  5. Silverlight中使用MVVM
  6. AspNetForums 开发过程中的源代码管理
  7. rsync、scp “tab” 卡顿问题
  8. 浏览器报错:DNS_PROBE_FINISHED_BAD_CONFIG
  9. MongoDB数据库常见问题
  10. SpringBoot中对于异常处理的提供的五种处理方式