字串有三種編輯操作:插入乙個字元、刪除乙個字元或者替換乙個字元。 給定兩個字串,編寫乙個函式判定它們是否只需要一次(或者零次)編輯。
示例 1:
輸入:
first = "pale"
second = "ple"
輸出: true
分情況討論:
長度差超過2 肯定錯
len1==len2 可能是替換
len1>len2 是刪除, len11) return false; //長度差超過2
if(len1==len2) return judge(first, second, false);
if(len1>len2) return judge(first, second, true);
else return judge(second, first, true);
}private:
bool judge(string first, string second, bool function)
j++;
}return true;}};
面試題 01 05 一次編輯(動態規劃)
面試題 01.05.一次編輯 字串有三種編輯操作 插入乙個字元 刪除乙個字元或者替換乙個字元。給定兩個字串,編寫乙個函式判定它們是否只需要一次 或者零次 編輯。示例 1 輸入 first pale second ple 輸出 true示例 2 輸入 first pales second pal 輸出...
程式設計師面試金典 面試題01 05 一次編輯
本題可以轉化為求編輯距離。題目限定為可以插入 刪除 替換乙個字元,這種編輯距離稱為萊溫斯坦距離,同樣經常遇到的還有漢明距離等。字串有三種編輯操作 插入乙個字元 刪除乙個字元或者替換乙個字元。給定兩個字串,編寫乙個函式判定它們是否只需要一次 或者零次 編輯。示例 1 輸入 first pale sec...
程式設計師面試金典 面試題 01 05 一次編輯
字串有三種編輯操作 插入乙個字元 刪除乙個字元或者替換乙個字元。給定兩個字串,編寫乙個函式判定它們是否只需要一次 或者零次 編輯。示例 1 輸入 first pale second ple 輸出 true示例 2 輸入 first pales second pal 輸出 false根據字串長度差值判...