回文字串

2021-06-19 04:47:17 字數 811 閱讀 9344

時間限制:

3000 ms  |  記憶體限制:

65535 kb

難度:4 描述

所謂回文字串,就是乙個字串,從左到右讀和從右到左讀是完全一樣的,比如"aba"。當然,我們給你的問題不會再簡單到判斷乙個字串是不是回文字串。現在要求你,給你乙個字串,可在任意位置新增字元,最少再新增幾個字元,可以使這個字串成為回文字串。

輸入第一行給出整數n(0

輸出每行輸出所需新增的最少字元數

樣例輸入

1

ab3bd

樣例輸出

2
思路:動態規劃遞推思想, 就是從小子串開始求出最少新增多少字母才能構成回文字串, 然後可以推出大的字串所需要新增字母的個數, 詳情見注釋

#include #include #include #define max 1005

int ans[max][max]; //儲存結果的陣列 ans[i][j] 表示從第j個字母起, 到j+i個字母的子串形成回文字串所需要新增的最少字母數

char str[max]; //儲存字串

int main()

else

else}}

} printf("%d\n", ans[len][0]); //從0開始長度為len所要新增的字元個數

} return 0;

}

回文字串

描述 所謂回文字串,就是乙個字串,從左到右讀和從右到左讀是完全一樣的,比如 aba 當然,我們給你的問題不會再簡單到判斷乙個字串是不是回文字串。現在 要求你,給你乙個字串,可在任意位置新增字元,最少再新增幾個字元,可以使這個字串成為回文字串。輸入第一行給出整數n 0思路分析 1.判斷字串前後倆個字元...

回文字串

還是在龐果網 看到的題目,這次選了個簡單的,回文字串。題目內容 回文字串是指從左到右和從右到左相同的字串,現給定乙個僅由小寫字母組成的字串,你可以把它的字母重新排列,以形成不同的回文字串。思路 不滿足上面條件的直接返回0,因為這樣構不成回文 判斷出能形成回文以後,將元素減半,在字串一半的長度內進行組...

回文字串

given a string,determine if it is a palindrome,considering only alphanumeric characters and ignoring cases.for example,a man,a plan,a canal panama is ...