多题目

(编辑距离)给定两个字符串,每次操作可以选择删除(Delete)、插入(Insert)、替换(Replace),一个字符,求将第一个字符串转换为第二个字符串所需要的最少操作次数。


1.#include <iostream>

2.#include <string>

3.#include <vector>

4.using namespace std;

5. 

6.int min(int x,int y,int z){

7. return min(min(x,y),z);

8.}

9. 

10.int edit_dist_dp(string str1,string str2){

11. int m=str1.length();

12. int n=str2.length();

13. vector<vector<int>> dp(m+1,vector<int>(n+1));

14. 

15. for(int i=0;i<=m;i++){

16. for(int j=0;j<=n;j++){

17. if(i==0)

18. dp[i][j]=(1);

19. else if(j==0)

20. dp[i][j]=(2);

21. else if((3))

22. dp[i][j]=(4);

23. else

24. dp[i][j]=1+min(dp[i][j-1],dp[i-1][j],(5)); 

25. }

26. }

27. return dp[m][n];

28.}

29. 

30.int main(){

31. string str1,str2;

32. cin>>str1>>str2;

33. cout<<"Mininum number of operation:"

34.     <<edit_dist_dp(str1,str2)<<endl;

35.  return 0

36.} 


35. return 0; 


36.}


第1题 单选

①处应填( )

A.

j

B.

i

C.

m

D.

n

第2题 单选

②处应填( )

A.

j

B.

i

C.

m

D.

n

第3题 单选

 ③处应填( )

A.

tr1[i-1]==str2[j-1]

B.

str1[i]==str2[j]

C.

str1[i-1]!=str2[j-1]

D.

str1[i]!=str2[j]

第4题 单选

 ④处应填( )

A.

dp[i-1][j-1]+1

B.

dp[i-1][j-1]

C.

dp[i-1][j]

D.

dp[i][j-1]

第5题 单选

⑤处应填( )

A.

dp[i][j] + 1

B.

dp[i-1][j-1]+1

C.

dp[i-1][j-1]

D.

dp[i][j]

用户评论

1111111111 发表于

666


1111111111 发表于

111111


1111111111 发表于

111111111111111111111111111111111111111111111111111111111

啊234567890


1111111111 发表于

啊234567890

啊1234567890

发表评论

登录 后再回复