From 71539be01e0486212138f2cec4ef4ceb2c626ef6 Mon Sep 17 00:00:00 2001 From: zionbuch Date: Thu, 24 Oct 2024 18:04:22 +0000 Subject: [PATCH 1/4] feat: Adds Zion's LeetCode PermutationDifference method to Lesson_13 hw --- .../java/com/codedifferently/lesson13/Lesson13.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) 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; } } From 83c7a80d64bc15a0975cee82721e47d30b2d60d9 Mon Sep 17 00:00:00 2001 From: zionbuch Date: Thu, 24 Oct 2024 19:57:26 +0000 Subject: [PATCH 2/4] feat: adds Zion's PermutationDifference method in lesson_13.ts extra credit hw --- lesson_13/maps_ts/src/lesson13.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/lesson_13/maps_ts/src/lesson13.ts b/lesson_13/maps_ts/src/lesson13.ts index 5207487e2..6bdc82aa6 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 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++) { + let charResult = charLocation.get(t.charAt(i)); + charSum += Math.abs(charResult - i); + } + return charSum; + } From 7778f4c0c85f442f17b36b50be6677d2f7ce4719 Mon Sep 17 00:00:00 2001 From: zionbuch Date: Thu, 24 Oct 2024 19:59:27 +0000 Subject: [PATCH 3/4] feat: adds Zion's PermutationDifference method in typescript to lesson_13 hw --- lesson_13/maps_ts/src/lesson13.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lesson_13/maps_ts/src/lesson13.ts b/lesson_13/maps_ts/src/lesson13.ts index 6bdc82aa6..1f1d26f13 100644 --- a/lesson_13/maps_ts/src/lesson13.ts +++ b/lesson_13/maps_ts/src/lesson13.ts @@ -3,7 +3,7 @@ * https://leetcode.com/problems/permutation-difference-between-two-strings */ export function findPermutationDifference(s: string, t: string): number { - let charLocation = new Map(); + let charLocation = new Map(); let charSum = 0; for (let i = 0; i < s.length; i++) { charLocation.set(s[i], i); From 1c44f447bdfd16766de8a070c147755c8397f997 Mon Sep 17 00:00:00 2001 From: zionbuch Date: Thu, 24 Oct 2024 20:19:13 +0000 Subject: [PATCH 4/4] feat: fixed syntax error for lesson_13.ts --- lesson_13/maps_ts/src/lesson13.ts | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/lesson_13/maps_ts/src/lesson13.ts b/lesson_13/maps_ts/src/lesson13.ts index 1f1d26f13..b8164aab3 100644 --- a/lesson_13/maps_ts/src/lesson13.ts +++ b/lesson_13/maps_ts/src/lesson13.ts @@ -3,15 +3,16 @@ * https://leetcode.com/problems/permutation-difference-between-two-strings */ export function findPermutationDifference(s: string, t: string): number { - let 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++) { - let charResult = charLocation.get(t.charAt(i)); + 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; - + } + return charSum; }