題目大意:給定乙個源字串src=「string」,然後給定乙個目標字串dst=「strim」,可以通過新增、刪除和替換字元使得源字串轉化為目標字串,比如給的例子中可以將「n"替換成「m」,然後刪除「g」,則源字串轉換為目標字串,源字串變換為目標字串時經過的最小動作(新增、刪除和替換)數為源字串到目標字串的編輯距離,編寫程式求出給定源字串和目標字串的編輯距離,如例子中的編輯距離為2.
解題的主要思路為:(遞迴)
分為兩種情況:(rsc,dst)
(一)當判斷的兩個字元相等時(*rsc==*dst),編輯距離為前面的編輯距離加上後面的編輯距離help(rsc++,dst++)的距離;
(二)不相等時分為三種情況:
1,在該位置進行替換元素,編輯距離為1+help(rsc++,dst++);
2,當在該位置新增元素時編輯距離為1+help(rsc,dst++);
3,當在該位置刪除乙個元素時編輯距離為1+help(rsc++,dst)
具體**如下:
#include "stdafx.h"
#includeusing namespace std;
int compute_lenth(char *src)
return i;
}int help(char*src, char *dst)
}int edit_distance(char *src, char *dst)
int _tmain(int argc, _tchar* ar**)
筆試練習 美團筆試題(一)
1 棋子翻轉 在4x4的棋盤上擺滿了黑白棋子,黑白兩色的位置和數目隨機其中左上角座標為 1,1 右下角座標為 4,4 現在依次有一些翻轉操作,要對一些給定支點座標為中心的上下左右四個棋子的顏色進行翻轉,請計算出翻轉後的棋盤顏色。給定兩個陣列a和f,分別為初始棋盤和翻轉位置。其中翻轉位置共有3個。請返...
美團筆試題 拜訪
題目描述 現在有乙個城市銷售經理,需要從公司出發,去拜訪市內的商家,已知他的位置以及商家的位置,但是由於城市道路交通的原因,他只能在左右中選擇乙個方向,在上下中選擇乙個方向,現在問他有多少種方案到達商家位址。給定乙個地圖map及它的長寬n和m,其中1代表經理位置,2代表商家位置,1代表不能經過的地區...
美團點評筆試題
1.css中浮動的影響和清除浮動的方法 2.sjf演算法,完成時間 3.有向圖和無向圖的鄰接矩陣有什麼區別 4.乙個無向圖的鄰接矩陣中各元素之和是圖中邊的條數的兩倍.5.20個元素氣泡排序,最多相鄰元素的比較次數?6.資料流圖中加工編號 7.長度為32的有序表中進行二分查詢,平均查詢長度?8.fir...