代碼隨想錄算法訓(xùn)練營(yíng)第六天| 242.有效的字母異位詞 ,349. 兩個(gè)數(shù)組的交集 ,202. 快樂(lè)數(shù) ,1. 兩數(shù)之和

Java哈希表學(xué)習(xí)教程:https://www.runoob.com/java/java-hashmap.html?ivk_sa=1024320u

什么時(shí)候使用哈希法,當(dāng)我們需要查詢(xún)一個(gè)元素是否出現(xiàn)過(guò),或者一個(gè)元素是否在集合里的時(shí)候,就要第一時(shí)間想到哈希法。

242.有效的字母異位詞

今日學(xué)習(xí)的文章鏈接:https://programmercarl.com/0242.%E6%9C%89%E6%95%88%E7%9A%84%E5%AD%97%E6%AF%8D%E5%BC%82%E4%BD%8D%E8%AF%8D.html

自己看到題目的第一想法:

看完代碼隨想錄之后的想法:使用哈希表實(shí)現(xiàn),難度不大

遇到的困難:需要先判斷兩個(gè)字符串大小是否一樣

349. 兩個(gè)數(shù)組的交集

今日學(xué)習(xí)的文章鏈接:https://programmercarl.com/0349.%E4%B8%A4%E4%B8%AA%E6%95%B0%E7%BB%84%E7%9A%84%E4%BA%A4%E9%9B%86.html

自己看到題目的第一想法:用大小為1000的數(shù)組來(lái)實(shí)現(xiàn),遍歷第一個(gè)數(shù)組如果存在就設(shè)為1001,遍歷第二個(gè)++,最后判斷>=1002的

看完代碼隨想錄之后的想法:使用HashSet實(shí)現(xiàn)

遇到的困難:

*本題二刷時(shí)應(yīng)用HashSet實(shí)現(xiàn)

202. 快樂(lè)數(shù)

今日學(xué)習(xí)的文章鏈接:https://programmercarl.com/0202.%E5%BF%AB%E4%B9%90%E6%95%B0.html

自己看到題目的第一想法:

看完代碼隨想錄之后的想法:運(yùn)用HashSet建立一個(gè)已訪問(wèn)過(guò)的數(shù)來(lái)防止無(wú)限循環(huán)

遇到的困難:一開(kāi)始nextNum采用了判斷a是否為零,這樣當(dāng)n為10的倍數(shù)時(shí)會(huì)產(chǎn)生問(wèn)題,應(yīng)該判斷n是否>0

*本題需要二刷

1. 兩數(shù)之和

今日學(xué)習(xí)的文章鏈接:https://programmercarl.com/0001.%E4%B8%A4%E6%95%B0%E4%B9%8B%E5%92%8C.html

自己看到題目的第一想法:

看完代碼隨想錄之后的想法:建一個(gè)HashMap<nums[i], i>來(lái)存放已經(jīng)訪問(wèn)過(guò)的數(shù),判斷target-nums[i]是否在該HashMap中

遇到的困難:不同下標(biāo)可能有相同的數(shù),這題不能用HashSet來(lái)做;要在判斷是否存在后再加入已訪問(wèn)的數(shù),不然可能存在和自身相加等于target的情況

今天學(xué)習(xí)時(shí)長(zhǎng)四小時(shí),對(duì)哈希法掌握了一些(當(dāng)判斷一個(gè)元素是否出現(xiàn)過(guò)要想到哈希法),其中有幾題需要二刷。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容