aboutsummaryrefslogtreecommitdiff
path: root/challenge-224/lubos-kolouch/java/ch-1.java
diff options
context:
space:
mode:
author冯昶 <fengchang@novel-supertv.com>2023-07-10 17:40:21 +0800
committer冯昶 <fengchang@novel-supertv.com>2023-07-10 17:40:21 +0800
commit75e4052bf46c76dc87c719ded35e62beb1031c4c (patch)
tree3e0771213cc7111f5a2558949b83cda3240c9c0c /challenge-224/lubos-kolouch/java/ch-1.java
parent80a35465e9e45a3bebbd5e82969a16d61bb9a858 (diff)
parent80e57ec8f3de321e2f66184490f16b335a281896 (diff)
downloadperlweeklychallenge-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.java26
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;
+ }
+}