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

你可以假设数组中无重复元素。

示例 1:

输入: [1,3,5,6], 5
输出: 2

示例 2:

输入: [1,3,5,6], 2
输出: 1

示例 3:

输入: [1,3,5,6], 7
输出: 4

示例 4:

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

看到这道题,我第一反应使用二分查找法...

package com.letcode;public class SearchInsertPosition {public static void main(String[] args) {int[] nums = {1, 3, 5, 6};int p = searchInsert(nums, 7);System.out.println(p);}public static int searchInsert(int[] nums, int target){int left = 0;  // 数组左边的位置int right = nums.length-1; // 数组下标最右边的位置int mid = 0;// 当left > right,才会跳出循环while(left <= right){mid = (left+right)/2;if(target > nums[mid]){// 右边部分left = mid+1; // mid这个位置的值不等于target,所以要去除mid这个位置}else if(target < nums[mid]){right = mid-1; // mid这个位置的值不等于target,所以要去除mid这个位置}else{return mid;  // 这是targrt == nums[mid],因此mid就是target的位置}}//        if(left < right){
//            return right;
//        }else{
//            return left;
//        }// 程序运行到这里的条件是 left > rightreturn left;}
}

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/search-insert-position

leetcode 35. 搜索插入位置相关推荐

  1. leetcode 35. 搜索插入位置(二分法搜索失败的情况)

    35. 搜索插入位置 思路:二分查找 模板: 如果查找成功,返回target在nums中的下标 //二分查找模板 //nums[0..n-1]为有序数组,target为目标 int left=0; i ...

  2. LeetCode 35. 搜索插入位置(二分查找)

    文章目录 1. 题目信息 2. 解题 2.1 暴力遍历 2.2 二分查找 1. 题目信息 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插 ...

  3. LeetCode 35.搜索插入位置

    给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插入的位置. 你可以假设数组中无重复元素. 示例 1: 输入: [1,3,5,6], 5 输 ...

  4. Leetcode 35.搜索插入位置 二分

    题目链接 思路: 是常规的二分法, 需要注意的是,当数字不存在的时候,需要返回插入该数进序列并保持有序的位置,即返回的是最后一个小于查找数target的位置.二分查找最后结束的位置,即退出循环时的左边 ...

  5. leetcode 35. 搜索插入位置 思考分析

    目录 题目 暴力 二分迭代 二分递归 题目 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插入的位置. 你可以假设数组中无重复元素. 示例 ...

  6. LeetCode (二分小专题)33搜索旋转排序数组34在排序数组中查找元素的第一个和最后一个位置35搜索插入位置

    前言 国庆前最后一次打卡,国庆后继续开启,公众号bigsai回复进群欢迎加入打卡,如有帮助记得点赞收藏. 近期打卡记录: LeetCode 32最长有效括号(困难) (本周) LeetCode 30串 ...

  7. 【LeetCode】35. 搜索插入位置---JavaScript解法

    [LeetCode]35. 搜索插入位置-JavaScript解法 原题链接:https://leetcode-cn.com/problems/search-insert-position/ /*** ...

  8. LeetCode Algorithm 35. 搜索插入位置

    35. 搜索插入位置 Ideas 题目中给的提示已经很清楚了,要求时间复杂度是O(log n),这不是指着鼻子跟我说:给老子用二分查找嘛! Code Python def searchInsert(s ...

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

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

最新文章

  1. android Camera照相机技术(二)定制拍照
  2. 一文了解物联网主控芯片架构之争
  3. 我的2013-一个dota半职业玩家向码农的转变路
  4. boost::hana::less_equal用法的测试程序
  5. Java扑克牌(洗牌Collections.shuffle)
  6. 深度学习进行目标识别的资源列表
  7. Kubernetes学习之路目录
  8. 2008 Asia Harbin Regional Contest Online Turn the corner (三分)
  9. 支付宝 RSA和RSA2签名算法区别
  10. Raki的读paper小记:SUBSPACE REGULARIZERS FOR FEW-SHOT CLASS INCREMENTAL LEARNING
  11. 60款mac超酷炫动态苹果免费屏保壁纸
  12. 黑客使用浏览器中的浏览器技术窃取Steam凭证
  13. 年前辞职,年后找工作
  14. 不同RAID硬盘利用率参考
  15. GDUT - 专题学习1 I - 滑动窗口
  16. Thinkpad T450 安装固态硬盘及内存条
  17. P2161 [SHOI2009]会场预约[线段树/树状数组+二分/STL]
  18. 共享打印机显示计算机权限,w10系统共享打印机怎么开权限_w10系统共享打印机访问权限如何获取...
  19. 诛仙3el服务器位置,【诛仙3风吟】虚拟机镜像一键服务端+配套客户端+青萝+EL编辑器+GM工具+启动说明...
  20. 第八课.TPAMI2021年多篇GNN相关工作

热门文章

  1. 一个操作读写已存在excel 文件的例子
  2. Python开发【第三篇】:Python基本数据类型
  3. linux解压war包
  4. intelliJ idea 下载安装
  5. C#全屏随机位置显示图片的小程序
  6. 《JS权威指南学习总结--开始简介》
  7. canvas-应用大全
  8. mysql5.6.7多实例安装、配置的详细讲解分析及shell启动脚本的编写
  9. consistent gets在Oracle使用特例
  10. 云时代的安全解读:云安全≠云计算安全