題目:
給定乙個字串s,你可以從中刪除一些字元,使得剩下的串是乙個回文串。如何刪除才能使得回文串最長呢?
輸出需要刪除的字元個數。
輸入描述:
輸入資料有多組,每組包含乙個字串s,且保證:1<=s.length<=1000.輸出描述:
對於每組資料,輸出乙個整數,代表最少需要刪除的字元個數。
輸入例子:
abcda
輸出例子:
22
實現的思路,回文就是正序和倒序都一樣,所以可以看做是求字串的正序和倒序的最長公共子串lcs,然後用原始長度減去最長公共字串的長度即為所求。
#include#includeusing namespace std;
int findmax(int &a, int &b)
int getlcs(string &s1, string &s2)//動態規劃法
} }return c[m][n];
}int main()
int len_lcs = getlcs(s1, s2);
int cnt = s1.length() - len_lcs;
cout << cnt << endl;
} return 0;
}
騰訊2017暑期實習生程式設計題 構造回文
給定乙個字串s,你可以從中刪除一些字元,使得剩下的串是乙個回文串。如何刪除才能使得回文串最長呢?輸出需要刪除的字元個數。輸入描述 輸入資料有多組,每組包含乙個字串s,且保證 1 s.length 1000.輸出描述 對於每組資料,輸出乙個整數,代表最少需要刪除的字元個數。輸入例子1 abcda go...
騰訊2017暑期實習生程式設計題(一) 構造回文
時間限制 1秒 空間限制 32768 k給定乙個字串s,你可以從中刪除一些字元,使得剩下的串是乙個回文串。如何刪除才能使得回文串最長呢?輸出需要刪除的字元個數。輸入資料有多組,每組包含乙個字串s,且保證 1 s.length 1000.對於每組資料,輸出乙個整數,代表最少需要刪除的字元個數。abcd...
牛客網 2017騰訊實習生程式設計題
一 構造回文 給定乙個字串s,你可以從中刪除一些字元,使得剩下的串是乙個回文串。如何刪除才能使得回文串最長呢?輸出需要刪除的字元個數。輸入描述 輸入資料有多組,每組包含乙個字串s,且保證 1 s.length 1000.輸出描述 對於每組資料,輸出乙個整數,代表最少需要刪除的字元個數。輸入例子 ab...