范】leetcode 算法題)
一、編輯器 / 編譯器認(rèn)知刷題不需要懂工程搭建只需要記住力扣在線判題是云端標(biāo)準(zhǔn)化編譯環(huán)境和本地 VS/Dev 運(yùn)行結(jié)果存在細(xì)微差異很多本地不報(bào)錯(cuò)的代碼線上會(huì)出問(wèn)題下文全部是抹平差異的關(guān)鍵規(guī)則。二、編譯 / 運(yùn)行 / 調(diào)試 刷題真正用途編譯報(bào)錯(cuò)語(yǔ)法、符號(hào)、頭文件、參數(shù)問(wèn)題硬性錯(cuò)誤運(yùn)行報(bào)錯(cuò)數(shù)組越界、空指針、棧溢出、內(nèi)存超限調(diào)試算法刷題唯一找錯(cuò)手段只靠肉眼看代碼,永遠(yuǎn)突破不了中等題、復(fù)雜模擬題。三、刷題五大高階禁忌1.禁止局部開(kāi)大數(shù)組棧溢出元兇2.禁止無(wú)符號(hào)數(shù)與 int 直接比較隱性邏輯錯(cuò)誤3.禁止 int 承接大數(shù)累加、乘積靜默溢出不報(bào)錯(cuò)但答案錯(cuò)4.禁止傳參不寫(xiě)引用大數(shù)據(jù)必 TLE5.禁止默認(rèn)初始化變量刷題局部變量臟數(shù)據(jù)導(dǎo)致隨機(jī) WA四、刷題最關(guān)鍵全局變量 vs 局部變量局部變量函數(shù)內(nèi)存儲(chǔ)在棧內(nèi)存空間極小不支持大數(shù)組、大數(shù)據(jù)容器不會(huì)自動(dòng)清零殘留隨機(jī)垃圾值全局變量函數(shù)外存儲(chǔ)在堆內(nèi)存空間極大刷題可隨意開(kāi) 1e6 數(shù)組默認(rèn)自動(dòng)初始化為 000遞歸、多測(cè)試用例場(chǎng)景極其穩(wěn)定刷題鐵律大數(shù)據(jù)、數(shù)組、DP 表、緩存變量全部全局定義五、力扣高頻隱性 BUG 知識(shí)點(diǎn)1. 無(wú)符號(hào)長(zhǎng)度坑vector.size()、string.length() 的返回值為 unsigned int無(wú)符號(hào)整型無(wú)符號(hào)數(shù)與普通 int 混合運(yùn)算時(shí)整體會(huì)強(qiáng)制轉(zhuǎn)為無(wú)符號(hào)類(lèi)型負(fù)數(shù)會(huì)溢出變成極大正數(shù)經(jīng)典錯(cuò)誤示例i nums.size() - 2當(dāng)數(shù)組長(zhǎng)度不足 222 時(shí)nums.size()-2 變成超大正數(shù)下標(biāo)越界穩(wěn)妥寫(xiě)法強(qiáng)制轉(zhuǎn)為普通整型 (int)(nums.size())。2. 運(yùn)算符優(yōu)先級(jí)隱性坑位運(yùn)算 、|、、 的優(yōu)先級(jí)低于加減運(yùn)算3. 數(shù)據(jù)溢出靜默報(bào)錯(cuò)int 數(shù)值極限約 2×1092×10?2×109力扣區(qū)間累加、數(shù)值相乘等題型極易超出范圍溢出不會(huì)拋出報(bào)錯(cuò)、程序不會(huì)崩潰只會(huì)篡改最終答案隱蔽性極強(qiáng)刷題規(guī)范累加、乘積、極值計(jì)算統(tǒng)一使用 long long 類(lèi)型。4. 傳參拷貝超時(shí)元兇vector、string 等容器直接傳參時(shí)會(huì)完整拷貝一份數(shù)據(jù)大數(shù)據(jù)場(chǎng)景會(huì)嚴(yán)重超時(shí)刷題通用標(biāo)準(zhǔn)寫(xiě)法只讀參數(shù)搭配 const 引用格式示例Cfunc(const vectorint nums)5. 局部變量未初始化引發(fā)隨機(jī) WA全局變量會(huì)自動(dòng)初始化為 000函數(shù)內(nèi)局部變量是隨機(jī)垃圾值大量題目出現(xiàn) “樣例正常、復(fù)雜用例答案錯(cuò)亂”根源就是數(shù)組、變量未手動(dòng)初始化清零。六、單文件刷題 / 工程開(kāi)發(fā) 思維分割力扣、競(jìng)賽刷題純單文件思維無(wú)需頭文件保護(hù)、無(wú)需多文件架構(gòu)追求極致簡(jiǎn)潔、運(yùn)行速度、調(diào)試便捷工程多文件規(guī)則完全不適用刷題場(chǎng)景新手不要混淆兩套邏輯。七、正確刷題進(jìn)階路線放棄基礎(chǔ)語(yǔ)法糾結(jié)吃透刷題隱性規(guī)則熟練斷點(diǎn)調(diào)試定位數(shù)組越界、邏輯誤差、溢出問(wèn)題中等題型歸類(lèi)刷題積累模板化代碼針對(duì)性規(guī)避超時(shí)、溢出、無(wú)符號(hào)坑逐步攻克遞歸、DFS、DP、雙指針進(jìn)階題型https://leetcode.cn/discuss/post/4006510/gan-huo-suan-fa-shua-ti-bi-bei-yin-xing-t02n0https://leetcode.cn/discuss/post/4006510/gan-huo-suan-fa-shua-ti-bi-bei-yin-xing-t02n0