今日任務(wù)
數(shù)組理論基礎(chǔ)楼镐,704. 二分查找癞志,27. 移除元素
詳細(xì)布置
數(shù)組理論基礎(chǔ)
文章鏈接:https://programmercarl.com/%E6%95%B0%E7%BB%84%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html
題目建議: 了解一下數(shù)組基礎(chǔ),以及數(shù)組的內(nèi)存空間地址框产,數(shù)組也沒那么簡單凄杯。
704.二分查找
題目建議: 大家能把 704 掌握就可以,35.搜索插入位置 和 34. 在排序數(shù)組中查找元素的第一個(gè)和最后一個(gè)位置秉宿,如果有時(shí)間就去看一下戒突,沒時(shí)間可以先不看,二刷的時(shí)候在看描睦。
先把 704寫熟練膊存,要熟悉 根據(jù) 左閉右開,左閉右閉 兩種區(qū)間規(guī)則 寫出來的二分法忱叭。
題目鏈接:https://leetcode.cn/problems/binary-search/
文章講解:https://programmercarl.com/0704.%E4%BA%8C%E5%88%86%E6%9F%A5%E6%89%BE.html
視頻講解:https://www.bilibili.com/video/BV1fA4y1o715
VS左閉右開:
1隔崎、right = nums.size(),不用再-1了;
2韵丑、While(left < right),沒有等于爵卒,因?yàn)閞ight取不到;
3撵彻、nums[middle]VStarget:
if<: left =middle+1;
if>: right =
middle钓株,因?yàn)閞ight取不到实牡,在區(qū)間外
注:數(shù)組最后!=’\0’
27.移除元素
題目建議: 暴力的解法,可以鍛煉一下我們的代碼實(shí)現(xiàn)能力轴合,建議先把暴力寫法寫一遍创坞。雙指針法
是本題的精髓,今日需要掌握受葛,至于拓展題目可以先不看题涨。
題目鏈接:https://leetcode.cn/problems/remove-element/
文章講解:https://programmercarl.com/0027.%E7%A7%BB%E9%99%A4%E5%85%83%E7%B4%A0.html
視頻講解:https://www.bilibili.com/video/BV12A4y1Z7LP
雙指針法(快慢指針法)(就是一個(gè)fast指針,一個(gè)low指針奔坟,首先用fast指針判斷是否等于val携栋,然后不等于就用fast指針當(dāng)前指向的位置的數(shù)值覆蓋low指針當(dāng)前指向的位置的數(shù)值):
注意:
1、就在同一個(gè)數(shù)組里面覆蓋就好咳秉,不必新建一個(gè)數(shù)組婉支;
2、如何新建數(shù)組還是學(xué)一下比較好:
雙向指針法(左邊一個(gè)指針澜建,右邊一個(gè)指針向挖,兩邊相遇這樣):