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..a88f07c3c 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 @@ -1,5 +1,7 @@ package com.codedifferently.lesson13; +import java.util.HashMap; + public class Lesson13 { /** @@ -7,6 +9,18 @@ public class Lesson13 { * https://leetcode.com/problems/permutation-difference-between-two-strings */ public int findPermutationDifference(String s, String t) { - return 0; + HashMap sMap = new HashMap<>(); + HashMap tMap = new HashMap<>(); + int sum = 0; + for (int i = 0; i < s.length(); i++) { + sMap.put(s.charAt(i), i); + tMap.put(t.charAt(i), i); + } + for (char key : sMap.keySet()) { + int val1 = sMap.get(key); + int val2 = tMap.get(key); + sum += Math.abs(val1 - val2); + } + return sum; } } diff --git a/lesson_13/maps_ts/src/lesson13.ts b/lesson_13/maps_ts/src/lesson13.ts index 5207487e2..d2b61ac90 100644 --- a/lesson_13/maps_ts/src/lesson13.ts +++ b/lesson_13/maps_ts/src/lesson13.ts @@ -3,5 +3,16 @@ * https://leetcode.com/problems/permutation-difference-between-two-strings */ export function findPermutationDifference(s: string, t: string): number { - return 0; + const sMap = new Map(); + let sum = 0; + for (let i = 0; i < s.length; i++) { + sMap.set(s.charAt(i), i); + } + for (const key of sMap.keys()) { + const val1 = sMap.get(key); + if (val1 !== undefined) { + sum += Math.abs(val1 - t.indexOf(key)); + } + } + return sum; }