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..22407abaa 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,15 @@ public class Lesson13 { * https://leetcode.com/problems/permutation-difference-between-two-strings */ public int findPermutationDifference(String s, String t) { - return 0; + var charLocation = new HashMap(); + int charSum = 0; + for (int i = 0; i < s.length(); i++) { + charLocation.put(s.charAt(i), i); + } + for (int i = 0; i < t.length(); i++) { + int charResult = charLocation.get(t.charAt(i)); + charSum += Math.abs(charResult - i); + } + return charSum; } } diff --git a/lesson_13/maps_ts/src/lesson13.ts b/lesson_13/maps_ts/src/lesson13.ts index 5207487e2..b8164aab3 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 charLocation = new Map(); + let charSum = 0; + for (let i = 0; i < s.length; i++) { + charLocation.set(s[i], i); + } + for (let i = 0; i < t.length; i++) { + const charResult = charLocation.get(t.charAt(i)); + if (charResult !== undefined) { + charSum += Math.abs(charResult - i); + } + } + return charSum; }