重點(diǎn): 記錄前一個(gè)字符結(jié)果 使用兩個(gè)中間變量res/a 下標(biāo)要搞清楚
重點(diǎn): 需要先strip字符串,防止尾部有空格的情況 字符串倒過來遍歷,range使用方法;或者使用 reversed
重點(diǎn): 當(dāng)I/X/C在大符號之前,計(jì)算完需跳過下一次循環(huán) 使用字典 后來看評論里大家的討論,發(fā)現(xiàn)還有一種想法更清晰:首先建立一個(gè)HashMap來映射符號和值,然后對字符串從左...
研究規(guī)律,使用遞歸方法計(jì)算出每一層的數(shù)組,但是時(shí)間復(fù)雜度太高,不滿足需求,需要降低時(shí)間復(fù)雜度。解決方法:保存每一級的結(jié)果,降低冗余計(jì)算。優(yōu)化解法:動(dòng)態(tài)規(guī)劃 需要特別注意數(shù)組的...
剛開始的想法是從頭遍歷兩個(gè)數(shù)組如果數(shù)組2有較大值就插入值數(shù)組1中,但是這樣數(shù)組1中的后續(xù)元素都要后移一位,數(shù)組中移動(dòng)元素成本太高,時(shí)間復(fù)雜度肯定大,就打消了這個(gè)念頭,但是也想...
官方解答:代碼非常簡潔,遍歷時(shí)當(dāng)和大于當(dāng)前最大值,就替換當(dāng)前最大值,否則sum歸零,保持當(dāng)前值,同時(shí)繼續(xù)尋找最大和值,for循環(huán)中的兩個(gè)if語句需要按照上面的順序來執(zhí)行。 自...
官方解法:數(shù)組完成排序后,我們可以放置兩個(gè)指針 i 和 j,其中 i 是快指針,而 j 是慢指針。只要 nums[i] = nums[j],我們就增加 i 以跳過重復(fù)項(xiàng)。當(dāng)遇...
重點(diǎn): 1、使用set作為無重復(fù)的集合 2、制作滑動(dòng)窗口--兩個(gè)指針從頭到尾遍歷字符串 解法二(動(dòng)態(tài)規(guī)劃法): 重點(diǎn):1、使用哈希2、注意下標(biāo)邊界3、i=max(dict1[...