力扣 35.搜索插入位置
2022/1/5 6:11:22
本文主要是介绍力扣 35.搜索插入位置,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.题目描述
2.思路讲解
看到了时间复杂度要求,一股很浓的二分算法味儿就来了
如果只是简单的搜索返回位置,那么题目就没啥意思了,唯一难点就是怎么返回要插入的位置
插入位置肯定是前面小于目标值,后面大于目标值,用这个作为条件,返回我们位置
当然这个算法没法保证第一个位置及0,和最后一个位置,所以我们需要去做一个特判
3.代码展示
int searchInsert(int* nums, int numsSize, int target){ int left=0; int right=numsSize-1; int mid=0; if(target<nums[0]) { return 0; } else if(target>nums[numsSize-1]) { return numsSize; } while(left<=right) { int mid=left+(right-left)/2; if(nums[mid]==target) { return mid; } else if(nums[mid]>target&&nums[mid-1]<target) { return mid; } else if(nums[mid]>target) { right=mid-1; } else { left=mid+1; } } return; }
4.总结
题目难度不大,最近期末考试,考试周导致我最近没多少时间做题,希望考完以后,能好好做一天题
这篇关于力扣 35.搜索插入位置的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南