程式設計題 構造回文

2021-08-18 04:49:21 字數 840 閱讀 2977

構造回文

時間限制:1秒

空間限制:32768k

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

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

輸入描述:

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

輸出描述:

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

輸入例子1:

abcda

google

輸出例子1: 2 2

解題思路:

回文的特性:翻轉等於它本身,因此我們只需要找出原串與反串(原串翻轉後的串)的最長公共子串行(lcs)的長度,然後用原串長度減去lcs即可得出結果。

lcs的具體講解可參考:

running07-動態規劃 最長公共子串行 過程**

以下為題解:

using system;

public

class program

for(int j=0; j0,j] = 0;

}for(int i=1; i<=str1.length; i++)

}return res[str1.length, str2.length];

}// calculate how many char we need to delete.

static

int delcount(string str1)

public

static

void

main(string args)

}}

程式設計題 構造回文

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

程式設計題 構造回文

內容會持續更新,有錯誤的地方歡迎指正,謝謝 給定乙個字串s,你可以從中刪除一些字元,使得剩下的串是乙個回文串。如何刪除才能使得回文串最長呢?輸出需要刪除的字元個數。輸入描述 輸入資料有多組,每組包含乙個字串s,且保證 1 s.length 1000 輸出描述 對於每組資料,輸出乙個整數,代表最少需要...

程式設計題 構造回文

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