牛客網答題筆記 構造回文

2021-07-22 06:29:37 字數 887 閱讀 7844

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

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

輸入描述:

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

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

abcda

google

輸出例子:

2

2

在乙個長的串中找到最長的那個回文串,也就是最長回文串串行。

由於我們知道,回文是從左到右和從右到左讀都是乙個樣子的串,也就是相等,那麼我們可以想象一下,將這個長串reverse。

reverse之後呢?我們知道回文正著讀和反著讀是相等的,那麼就是說reverse之後的串中必然有和正向的串中完全相等的一些子串行,那麼我們現在求這個最長的那乙個子串行。要求的答案也就出來了,原串長度減去這個最長公共子串行的長度,就是被刪掉元素的數目。

#include

#include

#include

#include

using

namespace

std;

int lcs(string s1,string s2)

for(int i = 0;i < m;i++)

else}}

return res[m][n];

}int main()

牛客網答題筆記 構造佇列

小明同學把1到n這n個數字按照一定的順序放入了乙個佇列q中。現在他對佇列q執行了如下程式 while q.empty 佇列不空,執行迴圈 做取出隊頭的值操作的時候,並不彈出當前隊頭。小明同學發現,這段程式恰好按順序輸出了1,2,3,n。現在小明想讓你構造出原始的佇列,你能做到嗎?輸入描述 第一行乙個...

牛客網答題筆記 字元移位

小q最近遇到了乙個難題 把乙個字串的大寫字母放到字串的後面,各個字元的相對位置不變,且不能申請額外的空間。你能幫幫小q嗎?輸入描述 輸入資料有多組,每組包含乙個字串s,且保證 1 s.length 1000.輸出描述 對於每組資料,輸出移位後的字串。輸入例子 aklebiceild輸出例子 klei...

牛客網答題筆記 有趣的數字

小q今天在上廁所時想到了這個問題 有n個數,兩兩組成二元組,差最小的有多少對呢?差最大呢?輸入描述 輸入包含多組測試資料。對於每組測試資料 n 本組測試資料有n個數 a1,a2.an 需要計算的資料 保證 1 n 100000,0 ai int max.輸出描述 對於每組資料,輸出兩個數,第乙個數表...