牛客網刷題(五) 尋找回文串(馬拉車演算法)

2021-09-01 05:37:22 字數 777 閱讀 7621

題目:設計乙個演算法,尋找字串中的最長回文子串。

輸入一行:乙個字串

輸出兩行:最長回文子串的長度(無則輸出0)

最長回文子串(無則輸出空行)

思路:乙個回文串它的對稱中心可能是某個字元(aba),也可能是某兩個字元之間(aa),理論上我們應該分類討論?但實際上我們這樣操作,我們把字串變成這樣(#a#b#)(#a#b#a#)

這樣一來,無論是什麼字串,它的長度都是奇數,只需要一種列舉方式就可以了(奇數的列舉方式,但同時可以列舉的偶數的情況) 

牛客 小A的回文串 最長回文串,馬拉車演算法

題目 題目鏈結 小a只想知道給定的乙個字串的最大回文子串是多少,現在小a可以對這個字串做一些改動,他可以把這個字串最前面的某一段連續的字元 不改變順序 移動到原先字串的末尾。那麼請問小a通過這樣的操作之後 也可以選擇不移動 能夠得到最大回文子串的長度是多少。思路 1列舉所有字串 使用馬拉車演算法 2...

牛客網刷題 尋找第K大

有乙個整數陣列,請你根據快速排序的思路,找出陣列中第k大的數。給定乙個整數陣列a,同時給定它的大小n和要找的k k在1到n之間 請返回第k大的數,保證答案存在。輸入描述 輸入乙個陣列 陣列長度 k大 輸出描述 輸出k大座標 輸入 1,3,5,2,2 5,3 輸出 2本題與之前的最小的k個數思路相類似...

牛客網刷題 將字串轉化為整數

輸入描述 輸入乙個字串 輸出描述 輸出字串的整數 輸入 123 輸出 123通過遍歷方式加和計算,注意需要處理正負號和字母的情況,以及數越界的情況。通過遍歷方式加和計算,注意需要處理正負號和字母的情況,以及數越界的情況。思路1 public class solution int num 0 for ...