騰訊17年實習生程式設計試題 構造回文

2021-07-12 05:07:11 字數 710 閱讀 6737

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

輸出需要刪除的字元個數

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

輸出描述:

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

輸入例子:

abcda

google

輸出例子:

2

2

實現思想:

首先儲存s字串,之後再儲存其rs相反的字串。對其求最大子串行和,則結果就是回文串。

源**實現:

#include

using namespace std;

const int maxn=1010;

int dp[maxn][maxn];

class solution

int getlcs(string &s1)

{string s2(s1);

reverse(s2.begin(),s2.end());

int len=s1.length();

memset(dp,0,sizeof dp);

for(int i=0;i>s)

{solution solution;

cout<

構造回文 騰訊實習生程式設計題

題目 給定乙個字串s,你可以從中刪除一些字元,使得剩下的串是乙個回文串。如何刪除才能使得回文串最長呢?輸出需要刪除的字元個數。輸入描述 輸入資料有多組,每組包含乙個字串s,且保證 1 s.length 1000.輸出描述 對於每組資料,輸出乙個整數,代表最少需要刪除的字元個數。輸入例子 abcda ...

騰訊2017暑期實習生程式設計題 構造回文

給定乙個字串s,你可以從中刪除一些字元,使得剩下的串是乙個回文串。如何刪除才能使得回文串最長呢?輸出需要刪除的字元個數。輸入描述 輸入資料有多組,每組包含乙個字串s,且保證 1 s.length 1000.輸出描述 對於每組資料,輸出乙個整數,代表最少需要刪除的字元個數。輸入例子1 abcda go...

騰訊2017暑期實習生程式設計題

刷題 pragma warning disable 4996 遮蔽警告 構造回文 題目描述 給定乙個字串s,你可以從中刪除一些字元,使得剩下的串是乙個回文串。如何刪除才能使得回文串最長呢?輸出需要刪除的字元個數。思路 其實就是,原字串翻轉之後的字串跟原字串的最長公共子串行 那麼利用動態規劃的最長公共...