两个字符串的排列差

给你两个字符串 s 和 t,每个字符串中的字符都不重复,且 t 是 s 的一个排列。
排列差 定义为 s 和 t 中每个字符在两个字符串中位置的绝对差值之和。
返回 s 和 t 之间的 排列差 。

  • 输入:s = “abc”, t = “bac”
    输出:2

  • 输入:s = “abcde”, t = “edbac”
    输出:12

1
2
3
4
5
6
7
8
9
10
11
12
var findPermutationDifference = function(s, t) {
let diff = 0;
let indices = new Map();
let length = s.length;
for (let i = 0; i < length; i++) {
indices[s[i]] = i;
}
for (let i = 0; i < length; i++) {
diff += Math.abs(indices[t[i]] - i);
}
return diff;
};