構造回文串

2021-07-24 02:14:45 字數 635 閱讀 8033

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

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

輸入描述:

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

輸出描述:

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

輸入例子:

abcda

google

輸出例子:

22

這個題目最簡單的方法就是先將字串取反,然後再將反字串和原字串一起找最長公共子串行,最後就得到了最長的回文字串,最後再加減長度就行了。

#include

#include

#include

using

namespace

std;

const

int maxsize=1010;

int temp[maxsize][maxsize];

int get_delete_number(string &s1)

return len-temp[len][len];

}int main()

}

構造回文 最長回文子串

題目 給定乙個字串s,你可以從中刪除一些字元,使得剩下的串是乙個回文串。如何刪除才能使得回文串最長呢?輸出需要刪除的字元個數。1 s.length 1000。輸入 abcda google 輸出 2 2思路 我本沒有思路 回文串的特點是正著讀和反著讀一樣,假設原來字串是s,求它的反串,然後再找到它們...

1400 構造 K 個回文字串

題目描述 給你乙個字串 s 和乙個整數 k 請你用 s 字串中 所有字元 構造 k 個非空 回文串 如果你可以用 s 中所有字元構造 k 個回文字串,那麼請你返回 true 否則返回 false 示例 1 輸入 s annabelle k 2 輸出 true 解釋 可以用 s 中所有字元構造 2 個...

騰訊17暑期實習 構造回文字串

題目 思路 把原序列和原序列的反序列做比較,求最大共同子串 dp 用原序列長度減去共同子串 dp 的長度,即可得出需要刪除的字元數 最大共同子串的方法 1.暴力列舉 以每個元素為中間元素,同時從左右出發,複雜度o n 2 2.記憶搜尋 3.動態規劃 時空複雜度均為o n 2 4.manacher s...