回文串最長

2021-09-12 04:01:27 字數 1046 閱讀 2458

給定乙個字串s,你可以從中刪除一些字元,使得剩下的串是乙個回文串。如何刪除才能使得回文串最長呢?

輸出需要刪除的字元個數。

輸入描述:

輸入資料有多組,每組包含乙個字串s,且保證:1<=s.length<=1000.

輸出描述:

對於每組資料,輸出乙個整數,代表最少需要刪除的字元個數。

#include

#include

#include

#include

using

namespace std;

#define n 100

int dp[n]

[n];

string s1;

string s2;

intmax

(int a,

int b)

intsolve()

else}}

return len - dp[len]

[len];}

intmain()

s2 ="";

for(

int i =

0; isize()

; i++

)int res =

solve()

; cout << res << endl;

}}

假設初始字串長度為0,逐漸往字串後加字元。

arr[i]為從字串str[i]開始到結束最長的回文串長度

#include#include#include#include#include#includeusing namespace std;

#define max(a,b) (a>b?a:b)

#define n 1000+7

int main()}}

//從str[i[到str[i]的字串的最長回文串為自身,長度為1

arr[i] = 1;

} cout << len - arr[0] << endl;

} return 0;

}

最長回文串

輸入乙個字串,求出其中的最長回文字串,樣例輸入 confucicss say madam,i m asam。樣例輸出 masam,i m asam。這個題首先要判斷最長那個回文串的位置,並且與大小寫無關,用到函式 toupper 然後輸出後面的字串。include include include i...

最長回文串

時間限制 1000ms 單點時限 1000ms 記憶體限制 64mb 描述 小hi和小ho是一對好朋友,出生在資訊化社會的他們對程式設計產生了莫大的興趣,他們約定好互相幫助,在程式設計的學習道路上一同前進。這一天,他們遇到了一連串的字串,於是小hi就向小ho提出了那個經典的問題 小ho,你能不能分別...

最長回文串

給出乙個包含大小寫字母的字串。求出由這些字母構成的最長的回文串的長度是多少。資料是大小寫敏感的,也就是說,aa 並不會被認為是乙個回文串。注意事項 假設字串的長度不會超過1010。您在真實的面試中是否遇到過這個題?yes 樣例給出 s abccccdd 返回7 一種可以構建出來的最長回文串方案是 d...