-
Notifications
You must be signed in to change notification settings - Fork 25
Feat: added content to Lesson13.java - James Capparell #439
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 6 commits
5629699
29cc80c
a1637c4
c22c3d0
b3ec7aa
1ebdea8
4e0fee1
5ac4271
3d439d3
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,12 +1,25 @@ | ||
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<Character, Integer> stringS = new HashMap<>(); | ||
HashMap<Character, Integer> 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()) { | ||
if (stringT.containsKey(key)) { | ||
int value1 = stringS.get(key); | ||
int value2 = stringT.get(key); | ||
int difference = Math.abs(value1 - value2); | ||
diffSum += difference; | ||
} | ||
} | ||
return diffSum; | ||
} | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,20 @@ | ||
/** | ||
* 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<string, number>(); | ||
const stringT = new Map<string, number>(); | ||
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)) { | ||
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Shouldn't need to disable the assertions, please remove. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'll find a solution right away. I was having trouble with it yesterday and was causing an error. It was a quick fix that VS code suggested for those lines. Do you have any suggestions on how to fix it or do you think just removing the comments will work still? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I made changes thinking that the build ran with removing those lines but it never actually pushed those changes correctly. The typescript file now has an error after removing those lines. |
||
const value1 = stringS.get(key)!; // Non-null assertion because we checked with has() | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The error is saying you can't use Re-writing as Unfortunately, the TypeScript compiler isn't smart enough yet to figure out that the has check you did on line 10 means that the check on line 11 is safe. There's probably an open feature request for this. |
||
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion | ||
const value2 = stringT.get(key)!; // Non-null assertion | ||
const difference = Math.abs(value1 - value2); | ||
diffSum += difference; | ||
} | ||
} | ||
return diffSum; | ||
} |
Uh oh!
There was an error while loading. Please reload this page.