小编use*_*880的帖子

找到使2个字符串相等所需的最小移动量

这是一个在线编码挑战(已完成)的问题.
我只需要一些关于如何处理的逻辑.

问题陈述:
我们有两个字符串A和B,它们具有相同的超级字符集.我们需要更改这些字符串以获得两个相等的字符串.在每次移动中,我们都可以执行以下操作之一:

1. swap two consecutive characters of a string  
2. swap the first and the last characters of a string
Run Code Online (Sandbox Code Playgroud)

可以对任一字符串执行移动.为获得两个相等的字符串,我们需要
最小移动次数是多少?

输入格式和约束:输入
的第一行和第二行包含两个字符串A和B.保证它们的字符相等的超集.

1 <= length(A) = length(B) <= 2000
All the input characters are between 'a' and 'z'
Run Code Online (Sandbox Code Playgroud)


输出格式:
最小移动次数打印到输出的唯一行

Sample input:
aab
baa

Sample output:
1
Run Code Online (Sandbox Code Playgroud)

说明:
交换字符串aab的第一个和最后一个字符以将其转换为baa.这两个字符串现在相等.

编辑:这是我的第一次尝试,但我输错了.有人可以指导我的方法有什么问题.

int minStringMoves(char* a, char* b) {
    int length, pos, i, j, moves=0;
    char *ptr;
    length = strlen(a);

    for(i=0;i<length;i++) …
Run Code Online (Sandbox Code Playgroud)

string algorithm

10
推荐指数
2
解决办法
1万
查看次数

标签 统计

algorithm ×1

string ×1