LeetCode--35. 搜索插入位置(遍历,二分法)
搜索插入位置(C)
- 1. 题目描述
- 2. 题目分析
- 3. C语言实现
- 3.1 遍历法
- 3.2 二分法
1. 题目描述
难度:简单
2. 题目分析
这道题目比较简单,比较容易想到的就是遍历法,其实更快的方法是二分法:
- 遍历法
依次遍历数组中的元素,判断是否存在目标值,如果存在返回索引,否则返回大于目标值的第一个元素的索引。时间复杂度为O(n)。 - 二分法
利用二分法来搜索数组会缩短访问时间。时间复杂度为O(logn)。
3. C语言实现
3.1 遍历法
代码如下:
int searchInsert(int* nums, int numsSize, int target){int i;if(numsSize == 0) return 0;for(i = 0; i < numsSize; i++){if(nums[i] >= target)return i;}return i;
}
运行结果为:
3.2 二分法
代码如下:
int searchInsert(int* nums, int numsSize, int target){int i, left, right, mid;left = 0;right = numsSize - 1;while(left <= right){mid = (left + right)/2;if(nums[mid] == target){return mid;}else if(nums[mid] < target){left = mid + 1;}else{right = mid - 1;}}return left;
}
运行结果为:
LeetCode--35. 搜索插入位置(遍历,二分法)相关推荐
- leetcode 35. 搜索插入位置(二分法搜索失败的情况)
35. 搜索插入位置 思路:二分查找 模板: 如果查找成功,返回target在nums中的下标 //二分查找模板 //nums[0..n-1]为有序数组,target为目标 int left=0; i ...
- LeetCode 35. 搜索插入位置(二分查找)
文章目录 1. 题目信息 2. 解题 2.1 暴力遍历 2.2 二分查找 1. 题目信息 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插 ...
- leetcode 35. 搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插入的位置. 你可以假设数组中无重复元素. 示例 1: 输入: [1,3,5,6], 5 输 ...
- Leetcode 35.搜索插入位置 二分
题目链接 思路: 是常规的二分法, 需要注意的是,当数字不存在的时候,需要返回插入该数进序列并保持有序的位置,即返回的是最后一个小于查找数target的位置.二分查找最后结束的位置,即退出循环时的左边 ...
- LeetCode 35.搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插入的位置. 你可以假设数组中无重复元素. 示例 1: 输入: [1,3,5,6], 5 输 ...
- leetcode 35. 搜索插入位置 思考分析
目录 题目 暴力 二分迭代 二分递归 题目 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插入的位置. 你可以假设数组中无重复元素. 示例 ...
- LeetCode (二分小专题)33搜索旋转排序数组34在排序数组中查找元素的第一个和最后一个位置35搜索插入位置
前言 国庆前最后一次打卡,国庆后继续开启,公众号bigsai回复进群欢迎加入打卡,如有帮助记得点赞收藏. 近期打卡记录: LeetCode 32最长有效括号(困难) (本周) LeetCode 30串 ...
- 【LeetCode】35. 搜索插入位置---JavaScript解法
[LeetCode]35. 搜索插入位置-JavaScript解法 原题链接:https://leetcode-cn.com/problems/search-insert-position/ /*** ...
- LeetCode Algorithm 35. 搜索插入位置
35. 搜索插入位置 Ideas 题目中给的提示已经很清楚了,要求时间复杂度是O(log n),这不是指着鼻子跟我说:给老子用二分查找嘛! Code Python def searchInsert(s ...
- 力扣35. 搜索插入位置python实现
35. 搜索插入位置 一.问题描述 二.算法思想 题目中的数组是排好序的,从头开始遍历,当发现列表中元素的值与target相等时返回该元素在列表中的位置i,否则继续查找,当发现列表中的元素比tar ...
最新文章
- 使用Apache反向代理实现全能主机的搭建
- linux系统自签发免费ssl证书,为nginx生成自签名ssl证书
- SQL Server之字符串函数
- gitlab将分支代码合并到master上
- 多功能拼团商城源码-带优惠券功能+自适应移动端+对接免签约支付
- dfs.datanode.max.xcievers参数导致hbase集群报错
- maven 下载源码
- Qt4_Ticker定时器事件
- VS2015 编译libevent库
- python整型图_基于PIL的图像整形与裁剪矢量化
- jQuery post使用变量作参数名
- 核电厂的“神经中枢”——核电厂数字化仪控系统
- f1c100s 源码_全志 F1C100S/200S Ucos Kile MDK emwin 408M-ARM9内置DDR 源码
- 诺瓦面试(一面和二面)总结
- GitChat·Python | 零基础小白如何入门 Python 编程
- 前端性能优化(图片优化)
- 读书笔记---Naive Bayes
- 解决邮件客户端QQ Mail及Thunderbird无法登入Outlook的问题
- 攻防世界MISC进阶之misc1
- 全球及中国安防电源行业竞争状况及供需前景预测报告(新版)2022-2027