算法D1 | 704. 二分查找,27. 移除元素

Python 用了很多年,但是對于數(shù)據(jù)結(jié)構(gòu)與算法一直理解不夠深刻婆廊。近期想系統(tǒng)性的過一遍迅细,順道練習C++。所有的題目會先用Python寫一遍淘邻,再用C++寫一遍茵典。

D1 數(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ù)組中查找元素的第一個和最后一個位置?贴浙,如果有時間就去看一下,沒時間可以先不看署恍,二刷的時候在看崎溃。

先把?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

博客心得:左閉右開 [left, right)? 和左閉右閉 [left, right] 的區(qū)別是之前沒有考慮過的。The devil in the details.?

先看了博客呼巷,以為對于二分查找很熟悉了囱修,但是摳到細節(jié),發(fā)現(xiàn)沒有總結(jié)過思路王悍,先練習了一下左閉右開的寫法破镰,發(fā)現(xiàn)對于指針的位置判斷不夠精確竟然也會引起報錯。以前的思路是:模糊的盡可能多的包含被查找的區(qū)間压储,這樣不會遺漏鲜漩,可是這樣也帶來了新的問題: 永遠都無法收斂到目標位置,無法結(jié)束循環(huán)集惋。debug的時候孕似,發(fā)現(xiàn)這種不精確的寫法在第二輪就找到了目標值,但是沒有終止循環(huán)刮刑。(highlight: line13-14)

Python 寫法一: 左閉右開

Python 寫法二: 左閉右閉

第一種寫法理解了以后喉祭,再寫左閉右閉就簡單了,關(guān)鍵是把區(qū)間節(jié)點搞清楚雷绢,區(qū)別在于line24,27,29, 注釋標記的新區(qū)間范圍是關(guān)鍵泛烙。整體感覺方法二比較直觀,區(qū)間范圍就是寫出來的位置翘紊,不用繞一下看是否需要把左右端點寫入新的區(qū)間胶惰。

C++ 寫法一: 左閉右開

看了一下C++基礎(chǔ)教程:https://www.runoob.com/cplusplus/cpp-variable-types.html

實操寫起來和python邏輯一致,主要是語法練習霞溪,理論教程看一遍領(lǐng)悟不深孵滞,真正開始用起來還是面向Google編程中捆。

cpp和python的區(qū)別:在首次使用變量時,需要申明每一個變量的類型坊饶;cpp中的else if 對應python中的elif;? 每一行結(jié)束以分號(;)為標志泄伪。windows調(diào)試cpp需要配置環(huán)境,暫時先寫leetcode平臺版本匿级。

C++寫法二: 左閉右閉

27.?移除元素

題目建議:??暴力的解法蟋滴,可以鍛煉一下我們的代碼實現(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

這個題目最近做過尔苦,補充一個時間復雜度O(n), 空間復雜度O(n)的思路行施,單指針允坚,每次都修改當前指針及其后面所有的元素。注意審題蛾号,需要返回保留元素k的稠项,也就是循環(huán)結(jié)束后的slow指針。

快慢指針還是比較直觀的鲜结,Python寫法如下:

C++ 寫法如下:

C++中換成了用forloop寫展运,這樣不用在每次循環(huán)對fast指針+1, 更簡潔一些。

另外嘗試了新的vector的size的獲取方式:1. size(nums); 2 nums.size();?

vector.size()的返回值是vector動態(tài)數(shù)組容器的尺寸大小精刷,也就是內(nèi)部元素個數(shù)乐疆;nums.size() 是 vector 類的成員函數(shù),size() 是一個模板函數(shù)贬养,可以用于任何有size成員的容器挤土;成員函數(shù)(nums.size())使用更廣泛一些。

另: size/sizeof/length 的區(qū)別:?https://blog.csdn.net/2303_79299383/article/details/134684749?spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EYuanLiJiHua%7EPosition-3-134684749-blog-121202223.235%5Ev40%5Epc_relevant_3m_sort_dl_base3&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EYuanLiJiHua%7EPosition-3-134684749-blog-121202223.235%5Ev40%5Epc_relevant_3m_sort_dl_base3&utm_relevant_index=6

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末误算,一起剝皮案震驚了整個濱河市仰美,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌儿礼,老刑警劉巖咖杂,帶你破解...
    沈念sama閱讀 217,084評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蚊夫,居然都是意外死亡诉字,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來壤圃,“玉大人陵霉,你說我怎么就攤上這事∥樯” “怎么了踊挠?”我有些...
    開封第一講書人閱讀 163,450評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長冲杀。 經(jīng)常有香客問我效床,道長,這世上最難降的妖魔是什么权谁? 我笑而不...
    開封第一講書人閱讀 58,322評論 1 293
  • 正文 為了忘掉前任剩檀,我火速辦了婚禮,結(jié)果婚禮上旺芽,老公的妹妹穿的比我還像新娘沪猴。我一直安慰自己,他們只是感情好甥绿,可當我...
    茶點故事閱讀 67,370評論 6 390
  • 文/花漫 我一把揭開白布字币。 她就那樣靜靜地躺著则披,像睡著了一般共缕。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上士复,一...
    開封第一講書人閱讀 51,274評論 1 300
  • 那天图谷,我揣著相機與錄音,去河邊找鬼阱洪。 笑死便贵,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的冗荸。 我是一名探鬼主播承璃,決...
    沈念sama閱讀 40,126評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蚌本!你這毒婦竟也來了盔粹?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,980評論 0 275
  • 序言:老撾萬榮一對情侶失蹤程癌,失蹤者是張志新(化名)和其女友劉穎舷嗡,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體嵌莉,經(jīng)...
    沈念sama閱讀 45,414評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡进萄,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,599評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片中鼠。...
    茶點故事閱讀 39,773評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡可婶,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出兜蠕,到底是詐尸還是另有隱情扰肌,我是刑警寧澤,帶...
    沈念sama閱讀 35,470評論 5 344
  • 正文 年R本政府宣布熊杨,位于F島的核電站曙旭,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏晶府。R本人自食惡果不足惜桂躏,卻給世界環(huán)境...
    茶點故事閱讀 41,080評論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望川陆。 院中可真熱鬧剂习,春花似錦、人聲如沸较沪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽尸曼。三九已至们何,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間控轿,已是汗流浹背冤竹。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留茬射,地道東北人鹦蠕。 一個月前我還...
    沈念sama閱讀 47,865評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像在抛,于是被迫代替她去往敵國和親钟病。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,689評論 2 354

推薦閱讀更多精彩內(nèi)容