給定乙個字串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...