字串的修改

2022-07-21 19:06:11 字數 868 閱讀 4830

題面:

【問題描述】

有 a=a1a2a3„am,b=b1b2b3„bn 兩個字串(均為小寫字母)現在要通過以下操作將 a

或 a 的乙個字尾修改為 b:

1. 刪除 刪除掉 a 中的某乙個字元。

2. 新增 將某乙個字元新增到 a 中任意位置。

3. 替換 將 a 中某一字元替換為另乙個。

求出最小操作次數。

【輸入格式】

第一行為字串 a。第二行為字串 b(長度均不超過 1000)。

【輸出格式】

乙個正整數,最小操作次數。

【樣例輸入】

aaab

aabc

【樣例輸出】

1【提示】

1 次操作 使用字尾 aab 在末尾插入 c。

3種操作都是對字串的修改 所以可以考慮動態規劃 狀態陣列是二維陣列 a[i][j] ,[i]表示a的第i位 [j]表示b的第[j]位 a[i][j] 表示在a[i]和b[j]時的最小運算元

因為是3種操作 每一種操作都可以對應一種轉移方式 而要求運算元最小 所以轉移方程為:a[i][j]=min(a[i-1][j-1]+a[i-1]==b[i-1],a[i-1][j]+1,a[i][j-1]+1);

**:

#includeint a[1026][1026];

int main()

scanf("%s %s",a,b);

i1=strlen(a);

j1=strlen(b);

for(int i=1;i<=i1;i++)

for(int j=1;j<=j1;j++)

printf("%d",a[i1][j1]);

return 0;

}

修改字串

將給定字串中連續出現3次的小寫字母替換為改小寫字母在字母表中的下乙個字母 z變為a 大寫字母和其他字元不處理,仍然保留。要求最終輸出的字串中不再存在任何連續出現3次的小寫字母。例如字串 atrcccert893 45ae 經過處理後應該為 atrdert893 45ae int changestri...

修改字串

1.字串變數 char s hello world int main 2.不知道為什麼不輸出,因此嘗試以下 int main s是乙個指標,初始化化為指向乙個字串常量 由於這個常量所在的地方,所以實際上s是const char s,但是由於歷史的原因,編譯器接受不帶const的寫法 但是試圖對s所指...

python 修改字串

在python中,字串是不可變型別,即無法直接修改字串的某一位字元。因此改變乙個字串的元素需要新建乙個新的字串。常見的修改方法有以下4種。方法1 將字串轉換成列表後修改值,然後用join組成新字串 s abcdef 原字串 s1 list s 將字串轉換為列表 s1 a b c d e f 列表的每...