图解LeetCode刷题计划
1、写在前面
手绘漫画系列正式上线!!!“图解LeetCode刷题计划” 来了!!!
今天是第十五期,争取每天一期,最多两天一期,欢迎大家监督我。。。
把练手的几个二分法写一下,开始用C++写代码了,C语言确实很锻炼能力,但是有点代码太多了。。。
模板汇总:
- 【手绘漫画】面试必考之二分查找(解题模板和深度剖析),上回
- 再也不怕女朋友问我二分查找了!【手绘漫画】图解二分查找(修订版)(LeetCode 704题)
- 再也不怕女朋友问我二分查找了!!!【手绘漫画】面试必考之二分查找(解题模板和深度剖析),最终回
2、题目
首先看一下题目,
正常的二分查找,除了两个特殊的条件,即,如果数组中没有 target
,小于最小值或者大于最大值,则返回插入的位置。
3、正文
能找到:
找不到:
4、代码
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
if(nums.empty()||nums.back()<target) return nums.size();
int left=0;
int right=nums.size()-1;
while(left<right){
int mid=left+right>>1;
if(nums[mid]>=target){
right=mid;
}
else{
left=mid+1;
}
}
return left;
}
};
如果有幸帮到你,请帮我点个【赞】,给个【关注】!如果能顺带【评论】给个鼓励,我将不胜感激。
如果想要更多的资源,欢迎关注 @我是管小亮,文字强迫症MAX~