#encoding=utf-8
import sys
#計算兩個字串有多少個相同的元素,不需要對應位置相等,只需要每個字串中的相對位置相等就行
#然後字串長度減去相同元素的個數。
def func():
str1 = sys.stdin.readline().strip("\n")
str2 = sys.stdin.readline().strip("\n")
res = 0
same_count=0
idx=0
for i in range(len(str1)):
ch=str1[i]
if ch in str2[idx:]:
ch_idx=str2[idx:].index(ch)
idx+=ch_idx+1
same_count+=1
print min( len(str1),len(str2) )-same_count+abs(len(str1)-len(str2))
if __name__=="__main__":
func()
最小週期字串出現次數
想要知道最短週期子串出現的次數,首先要知道最短週期子串是什麼,之後由目標串的長度 最短迴圈子串的長度就可以得到最短週期子串出現的次數.假設有乙個目標串為 abcabcabc 顯而易見 最短週期子串為abc 一是暴力查詢 如下 include include using namespace std i...
字串最小變換數(編輯距離)
給定兩個字串,已知可以使用三種方式進行變換 插入乙個字元 刪除乙個字元 更改乙個字元 請設計乙個演算法,找到兩個字串之間的經歷幾次最小變換,可以字串1轉換成字串2。這是一道典型的編輯距離的題目,即字串str1至少需要多少步才能到達字串str2。使用動態規劃的方法,dp i j 表示字串str的子串s...
字串變換
現有乙個字典,同時給定字典中的兩個字串s和t,給定乙個變換,每次可以改變字串中的任意乙個字元,請設計乙個演算法,計算由s變換到t所需的最少步數,同時需要滿足在變換過程中的每個串都是字典中的串。給定乙個string陣列dic,同時給定陣列大小n,串s和串t,請返回由s到t變換所需的最少步數。若無法變換...