diff --git a/lesson_13/maps_java/maps_app/src/main/java/com/codedifferently/lesson13/Lesson13.java b/lesson_13/maps_java/maps_app/src/main/java/com/codedifferently/lesson13/Lesson13.java index 0c981abbf..c706fbb1d 100644 --- a/lesson_13/maps_java/maps_app/src/main/java/com/codedifferently/lesson13/Lesson13.java +++ b/lesson_13/maps_java/maps_app/src/main/java/com/codedifferently/lesson13/Lesson13.java @@ -7,6 +7,17 @@ public class Lesson13 { * https://leetcode.com/problems/permutation-difference-between-two-strings */ public int findPermutationDifference(String s, String t) { - return 0; + int ans = 0; + int[] indices = new int[26]; + + for (int i = 0; i < s.length(); ++i) { + indices[s.charAt(i) - 'a'] = i; + } + + for (int i = 0; i < t.length(); ++i) { + ans += Math.abs(indices[t.charAt(i) - 'a'] - i); + } + + return ans; } } diff --git a/lesson_13/maps_ts/src/lesson13.ts b/lesson_13/maps_ts/src/lesson13.ts index 5207487e2..ee3a0d8fc 100644 --- a/lesson_13/maps_ts/src/lesson13.ts +++ b/lesson_13/maps_ts/src/lesson13.ts @@ -3,5 +3,15 @@ * https://leetcode.com/problems/permutation-difference-between-two-strings */ export function findPermutationDifference(s: string, t: string): number { - return 0; + let ans: number = 0; +let indices: number[] = new Array(26).fill(0); + +for (let i = 0; i < s.length; ++i){ + indices[s.charCodeAt(i) - 'a'.charCodeAt(0)] = i; +} + +for (let i = 0; i < t.length; ++i){ + ans += Math.abs(indices[t.charCodeAt(i) - 'a'.charCodeAt(0)] - i); +} +return ans; }