1. 子串與子序列
2. 回文字符串——相向型雙指針判斷
暴力求解法:
我們的目的是寫出好的n^3的復(fù)雜度的算法蚕甥,或者優(yōu)化為n^2的算法
一個(gè)好的 Coding Quality 的 n^3的復(fù)雜度的算法如下:
1. 異常檢測(cè)模塊简十,避免輸入為null時(shí)報(bào)錯(cuò)
2. 變量命名使用1-2個(gè)有實(shí)際意義的單詞册招,避免使用單個(gè)無(wú)意義字母
3. 合理使用空格(for碎税、if后面任斋,運(yùn)算符前后)贮懈、空行沸呐、縮進(jìn)旬牲,有一定的代碼風(fēng)格
3. 基于中心線枚舉的算法
最佳實(shí)踐7麓狻8橄拧!
注:千萬(wàn)要避免使用全局變量
4. 基于動(dòng)態(tài)規(guī)劃的算法
由于一個(gè)字符串是回文串吭历,滿足兩頭字符相等堕仔,且中間還是一個(gè)回文串,以此類推晌区。所以可以使用動(dòng)態(tài)規(guī)劃求解摩骨。
用continue可以減少縮進(jìn),并且可以將嵌套關(guān)系改為并列朗若。少用else恼五,避免嵌套。