leetcode 35. 搜索插入位置 思考分析
目录
- 题目
- 暴力
- 二分迭代
- 二分递归
题目
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
你可以假设数组中无重复元素。
示例 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
暴力
class Solution {public:int searchInsert(vector<int>& nums, int target) {for(int i = 0;i < nums.size();i++){if(target <= nums[i]) return i;}return nums.size();}
};
二分迭代
class Solution {public:int searchInsert(vector<int>& nums, int target) {int start = 0;int end = nums.size()-1;int mid;while(start <= end){mid = (start + end)/2;if(nums[mid] == target) return mid;else if(nums[mid] > target){end = mid -1;}else{start = mid +1;}}return start;}
};
二分递归
class Solution {public:int recur(vector<int>& nums, int start,int end,int target){if(start > end) return start;int mid = (start + end)/2;if(nums[mid] == target) return mid;else if(nums[mid] > target){return recur(nums,start,mid -1,target);}else{return recur(nums,mid +1,end,target);}return start;}int searchInsert(vector<int>& nums, int target) {return recur(nums,0,nums.size()-1,target);}
};
leetcode 35. 搜索插入位置 思考分析相关推荐
- leetcode 35. 搜索插入位置(二分法搜索失败的情况)
35. 搜索插入位置 思路:二分查找 模板: 如果查找成功,返回target在nums中的下标 //二分查找模板 //nums[0..n-1]为有序数组,target为目标 int left=0; i ...
- leetcode 35. 搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插入的位置. 你可以假设数组中无重复元素. 示例 1: 输入: [1,3,5,6], 5 输 ...
- LeetCode 35. 搜索插入位置(二分查找)
文章目录 1. 题目信息 2. 解题 2.1 暴力遍历 2.2 二分查找 1. 题目信息 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插 ...
- LeetCode 35.搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插入的位置. 你可以假设数组中无重复元素. 示例 1: 输入: [1,3,5,6], 5 输 ...
- Leetcode 35.搜索插入位置 二分
题目链接 思路: 是常规的二分法, 需要注意的是,当数字不存在的时候,需要返回插入该数进序列并保持有序的位置,即返回的是最后一个小于查找数target的位置.二分查找最后结束的位置,即退出循环时的左边 ...
- LeetCode (二分小专题)33搜索旋转排序数组34在排序数组中查找元素的第一个和最后一个位置35搜索插入位置
前言 国庆前最后一次打卡,国庆后继续开启,公众号bigsai回复进群欢迎加入打卡,如有帮助记得点赞收藏. 近期打卡记录: LeetCode 32最长有效括号(困难) (本周) LeetCode 30串 ...
- LeetCode Algorithm 35. 搜索插入位置
35. 搜索插入位置 Ideas 题目中给的提示已经很清楚了,要求时间复杂度是O(log n),这不是指着鼻子跟我说:给老子用二分查找嘛! Code Python def searchInsert(s ...
- 【LeetCode】35. 搜索插入位置---JavaScript解法
[LeetCode]35. 搜索插入位置-JavaScript解法 原题链接:https://leetcode-cn.com/problems/search-insert-position/ /*** ...
- ARTS-23(35. 搜索插入位置,SELU激活函数,本周几个问题, 招商银行财报分析)
Algorithm https://leetcode-cn.com/problems/search-insert-position/ 35. 搜索插入位置 给定一个排序数组和一个目标值,在数组中找到目 ...
最新文章
- linux kernel 最新版本,linux kernel 最新版本4.10正式发布 附下载地址
- 操作系统中的同步和异步
- 发送接收图片_国际空间站将在8月4-5号发送SSTV图片,普通对讲机可接收
- 2018-2019-1 20165320 《信息安全系统设计基础》第八周学习总结
- ssh 两个mysql数据库_SSH下,关于多数据库的两个问题
- 锁住文件linux,关于Linux文件锁定保护命令chattr
- 招聘数据采集+数据清洗与分析+数据可视化
- win10重装系统后没有网卡驱动
- H3C华三旁挂防火墙
- 大学学python用记笔记吗_python笔记(1)-关于我们应不应该继续学习
- 微信公众平台:JustOracle(微信号:justoracle)现已开通,热忱欢迎你的加入
- 计算机慢的解决方法,几种电脑变慢的解决方法
- 腾讯AI开放平台使用尝试:账号开通/应用创建/能力开通
- .net 汉字转拼音 - 输入汉字获取其拼音
- postman接口关联
- keil编译代码Program Size详解
- 中国流动人口动态监测调查数据
- Python那些功能哟
- 重装android studio 始终提示SDK installed
- 转载一篇讲NAT类型比较好的科普文
热门文章
- 【ECharts系列|02可视化大屏】 舆情分析,人口分析及警情警力活动情况的实现【下篇】
- java dto entity,entity与DTO完全一致时
- hql中获取前一天的数据_PostgreSql 怎么获取数据库中关键系统信息(一)
- 将url参数字符串转成数组
- 手把手教你写一份优质的前端技术简历
- 贝塞尔曲线理解与应用
- css渲染(二) 文本
- 201571030316/201571030314 《小学四则运算练习软件需求说明》结对项目报告
- python 打造一个sql注入脚本 (一)
- 【BZOJ2073】[POI2004]PRZ 状压DP