迴文字串
迴文串是指aba、abba、cccbccc、aaaa這種左右對稱的字串。每個字串都可以通過向中間新增一些字元,使之變為迴文字串。
例如:abbc 新增2個字元可以變為 acbbca,也可以新增3個變為 abbcbba。方案1只需要新增2個字元,是所有方案中新增字元數量最少的。
#include <iostream>
using namespace std;
int fun(string &input)
{
int n = input.length();
int dp[n][n];
for (int i = 0; i < n; i++)
{
dp[i][i] = 0;
}
for (int j = 1; j < n; j++)
{
for (int i = j-1; i >= 0; i--)
{
if (i == j-1)
{
if (input[i] == input[j])
{
dp[i][j] = 0;
}
else
{
dp[i][j] = 1;
}
}
else
{
if (input[i] == input[j])
{
dp[i][j] = dp[i+1][j-1];
}
else
{
dp[i][j] = min(dp[i][j-1], dp[i+1][j]) + 1;
}
}
}
}
return dp[0][n-1];
}
int main()
{
string input;
cin >> input;
cout << fun(input) << endl;
return 0;
}
相關文章
- Manacher-求最長迴文字串字串
- 找到最長迴文字串 - Manacher's Algorithm字串Go
- LeetCode 5.最長的迴文字串LeetCode字串
- leetcod 131.分割回文串(回溯、迴文字串)字串
- 最長公共子序列&迴文字串 nyoj動態規劃字串動態規劃
- [LeetCode] Valid Palindrome II 驗證迴文字串之二LeetCode字串
- L2-008 最長對稱子串【最長迴文字串】字串
- 輸入字串,判斷是否為迴文字串,即前後對稱的(單個字元,不帶空格)字串字元
- php 如何擷取中文字串PHP字串
- PHP中文字串轉陣列PHP字串陣列
- 中文字串 轉 unicode 編碼的字串字串Unicode
- 使用cstring實現中文字串模糊匹配字串
- 高效的中文字串擷取函式 (轉)字串函式
- java中文字串漢字轉GBK編碼Java字串
- 判定一段中文字串是否是數字字串
- 用VB把數字轉成中文字串 (轉)字串
- 獲得包含中英文字串的自然長度字串
- C#擷取指定長度中英文字串方法C#字串
- springmvc當要返回中文字串時出現亂碼SpringMVC字串
- JavaScript的map迴圈、forEach迴圈、filter迴圈、reduce迴圈、reduceRight迴圈JavaScriptFilter
- Ida pro 裡的中文字串(菜鳥進來) (2千字)字串
- 遞迴和尾遞迴遞迴
- C語言——迴圈結構(for迴圈,while迴圈,do-while迴圈)C語言While
- 快速排序【遞迴】【非遞迴】排序遞迴
- 無限for迴圈(死迴圈)
- Java裡實現中文字串陣列的音序排序有沒有現成的?Java字串陣列排序
- while迴圈以及do while迴圈While
- C# 解析16進位制字串。將16進位制字串轉換成明文字串C#字串
- 迴圈
- if迴圈
- 遞迴遞迴
- 兩種遞迴方式實現迴文字遞迴
- 04流程控制 for迴圈,while迴圈While
- 【基礎題】【for迴圈】二重迴圈
- 機器學習 | 線性迴歸與邏輯迴歸機器學習邏輯迴歸
- JS優化迴圈之展開迴圈JS優化
- JavaScript遞迴JavaScript遞迴
- go 遞迴Go遞迴