圖解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~