Minimum Number of Steps to Make Two Strings Anagram II
MediumHash TableStringCounting
Solution
export function minSteps(s: string, t: string): number {
let answer = 0;
const sCounter = createCharCounter(s);
const tCounter = createCharCounter(t);
for (let i = 0; i < 26; i++) {
answer += Math.abs(sCounter[i] - tCounter[i]);
}
return answer;
}
function createCharCounter(str: string): number[] {
const counter = new Array<number>(26).fill(0);
for (const char of str) {
const charCode = char.charCodeAt(0) - 'a'.charCodeAt(0);
counter[charCode] += 1;
}
return counter;
}
Complexity
- Time:
O(N + M)
- Space:
O(1)