题目描述:

思路想法:

无疑是利用二分查找了,但是,当一个不存在数组中的元素,应该如何确定它在数组中的位置呢?

二分法在跳出循环时,说明这个元素没有在数组当中,但是,在跳出来之前,left和right即为相邻的元素;

当用target目标元素和mid比较的时候,target比中间的大应该选没跳出循环时的右边,否则选左边作为插入位置。

Java 代码:

class Solution {public int searchInsert(int[] nums, int target) {int tempL = 0;int tempR = 0;int right=nums.length;// 长度为1 的特殊情况if(right == 1){if(nums[0]>=target){return 0;}else{return 1;}}int left = 0;int mid = 0;boolean flag = false;
// 可以用二分法解决的while(left<right){tempR=right;tempL=left;mid = (left+right)/2;if(target>nums[mid]){left = mid+1;flag = true;}else if(target==nums[mid]){return mid;}else{right = mid;flag=false;}}if(flag){return right;}else{return left;} }
}

核心技能:

二分查找的精妙之处需要理解透彻。

LeetCode-35 搜索插入位置相关推荐

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

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

  2. leetcode 35. 搜索插入位置

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

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

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

  4. LeetCode 35.搜索插入位置

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. linux中搭建vue-cli
  2. Spring3.0中的前置通知、后置通知、环绕通知、异常通知
  3. 移植MT76x8 私有WIFI驱动V4.1.0.0到Openwrt 18.06所遇到的坑
  4. 六、Analysis of quicksort
  5. Swift面向对象基础(中)——Swift中的存储属性和计算属性
  6. 如何在sql存储过程中打log_SQL语句优化
  7. hibernate4中主要的配置文件配置
  8. Python 文档学习
  9. H3C交换机创建用户
  10. 【原创】Nginx+PHP-FPM优化技巧总结
  11. UIScrollView总结
  12. 微型计算机三部分基本组成,微型计算机的基本组成-电脑自学网
  13. AR图书,看着很美其实有点坑
  14. 可编程器件的编程原理
  15. 665. Non-decreasing Array
  16. 今日头条前端三轮面试面经
  17. TensorFlow机器翻译之moses切词(附:ActivePerl安装)
  18. java 牛客网之[动态规划 简单]NC3 nico和niconiconi
  19. Microsoft Visual Studio 的下载与安装
  20. Apache POI 插入图片至 Excel 的两种方法

热门文章

  1. html绝对定位怎么页面居中,html – 如何将绝对定位的元素居中?
  2. Linux键盘连续输入,关于修改键盘输入
  3. php cii订单导出,使用 kingcms.php 建立一个留言本【附模型代码】
  4. oracle 序列开始为2,【图片】【求助】为啥Oracle的sequence 第一次插入表从2开始。。【java吧】_百度贴吧...
  5. 虚拟机上的linux作为服务器吗,linux ftp服务器 虚拟机做服务器如何实现
  6. 西部数码linux云服务器,linux云服务器选择哪个版本
  7. Spring的注入方式详解
  8. androidStudio使用卡顿
  9. Android中style和theme的区别
  10. 对InputStreamReader 和 OutputStreamWriter的理解