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..1a9ed43d6 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,12 +1,23 @@ package com.codedifferently.lesson13; +import java.util.HashMap; + public class Lesson13 { - /** - * Provide the solution to LeetCode 3146 here: - * https://leetcode.com/problems/permutation-difference-between-two-strings - */ public int findPermutationDifference(String s, String t) { - return 0; + HashMap stringS = new HashMap<>(); + HashMap stringT = new HashMap<>(); + int diffSum = 0; + for (int i = 0; i < t.length(); i++) { + stringS.put(s.charAt(i), i); + stringT.put(t.charAt(i), i); + } + for (Character key : stringS.keySet()) { + int value1 = stringS.get(key); + int value2 = stringT.get(key); + int difference = Math.abs(value1 - value2); + diffSum += difference; + } + return diffSum; } } diff --git a/lesson_13/maps_ts/src/lesson13.ts b/lesson_13/maps_ts/src/lesson13.ts index 5207487e2..10503cb94 100644 --- a/lesson_13/maps_ts/src/lesson13.ts +++ b/lesson_13/maps_ts/src/lesson13.ts @@ -1,7 +1,18 @@ -/** - * Provide the solution to LeetCode 3146 here: - * https://leetcode.com/problems/permutation-difference-between-two-strings - */ export function findPermutationDifference(s: string, t: string): number { - return 0; -} + const stringS = new Map(); + const stringT = new Map(); + let diffSum = 0; + for (let i = 0; i < t.length; i++) { + stringS.set(s.charAt(i), i); + stringT.set(t.charAt(i), i); + } + for (const key of stringS.keys()) { + if (stringT.has(key)) { + const value1 = stringS.get(key)!; // Non-null assertion because we checked with has() + const value2 = stringT.get(key)!; // Non-null assertion + const difference = Math.abs(value1 - value2); + diffSum += difference; + } + } + return diffSum; +} \ No newline at end of file