diff options
| author | 冯昶 <fengchang@novel-supertv.com> | 2023-07-10 17:40:21 +0800 |
|---|---|---|
| committer | 冯昶 <fengchang@novel-supertv.com> | 2023-07-10 17:40:21 +0800 |
| commit | 75e4052bf46c76dc87c719ded35e62beb1031c4c (patch) | |
| tree | 3e0771213cc7111f5a2558949b83cda3240c9c0c /challenge-224/lubos-kolouch/java/ch-1.java | |
| parent | 80a35465e9e45a3bebbd5e82969a16d61bb9a858 (diff) | |
| parent | 80e57ec8f3de321e2f66184490f16b335a281896 (diff) | |
| download | perlweeklychallenge-club-75e4052bf46c76dc87c719ded35e62beb1031c4c.tar.gz perlweeklychallenge-club-75e4052bf46c76dc87c719ded35e62beb1031c4c.tar.bz2 perlweeklychallenge-club-75e4052bf46c76dc87c719ded35e62beb1031c4c.zip | |
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'challenge-224/lubos-kolouch/java/ch-1.java')
| -rw-r--r-- | challenge-224/lubos-kolouch/java/ch-1.java | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/challenge-224/lubos-kolouch/java/ch-1.java b/challenge-224/lubos-kolouch/java/ch-1.java new file mode 100644 index 0000000000..aeff01b10f --- /dev/null +++ b/challenge-224/lubos-kolouch/java/ch-1.java @@ -0,0 +1,26 @@ +import java.util.HashMap; +import java.util.Map; + +public class Main { + public static void main(String[] args) { + System.out.println(canFormTarget("abc", "xyz")); // Output: false + System.out.println( + canFormTarget("scriptinglanguage", "perl")); // Output: true + System.out.println(canFormTarget("aabbcc", "abc")); // Output: true + } + + public static boolean canFormTarget(String source, String target) { + Map<Character, Integer> sourceChars = new HashMap<>(); + for (char c : source.toCharArray()) { + sourceChars.put(c, sourceChars.getOrDefault(c, 0) + 1); + } + + for (char c : target.toCharArray()) { + if (!sourceChars.containsKey(c) || sourceChars.get(c) == 0) { + return false; + } + sourceChars.put(c, sourceChars.get(c) - 1); + } + return true; + } +} |
