aboutsummaryrefslogtreecommitdiff
path: root/challenge-335/deadmarshal/java/Ch1.java
diff options
context:
space:
mode:
authorAli <adeadmarshal@gmail.com>2025-08-19 10:07:57 +0330
committerAli <adeadmarshal@gmail.com>2025-08-19 10:07:57 +0330
commite8aeeee6722902fd02c0c6ba244738acac8fa983 (patch)
treeaeb7c33905b7d875f028196ec4c14777d9b83ec1 /challenge-335/deadmarshal/java/Ch1.java
parent4f766edf1327ad3628c824c3c00f1c1f10c50b38 (diff)
downloadperlweeklychallenge-club-e8aeeee6722902fd02c0c6ba244738acac8fa983.tar.gz
perlweeklychallenge-club-e8aeeee6722902fd02c0c6ba244738acac8fa983.tar.bz2
perlweeklychallenge-club-e8aeeee6722902fd02c0c6ba244738acac8fa983.zip
TWC335
Diffstat (limited to 'challenge-335/deadmarshal/java/Ch1.java')
-rw-r--r--challenge-335/deadmarshal/java/Ch1.java28
1 files changed, 28 insertions, 0 deletions
diff --git a/challenge-335/deadmarshal/java/Ch1.java b/challenge-335/deadmarshal/java/Ch1.java
new file mode 100644
index 0000000000..d72f9863e7
--- /dev/null
+++ b/challenge-335/deadmarshal/java/Ch1.java
@@ -0,0 +1,28 @@
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+public class Ch1 {
+ public static void main(String[] args) {
+ System.out.println(common_characters(new String[]{"bella", "label", "roller"}));
+ System.out.println(common_characters(new String[]{"cool", "lock", "cook"}));
+ System.out.println(common_characters(new String[]{"hello", "world", "pole"}));
+ System.out.println(common_characters(new String[]{"abc", "def", "ghi"}));
+ System.out.println(common_characters(new String[]{"aab", "aac", "aaa"}));
+ }
+
+ private static List<String> common_characters(String[] words) {
+ int[] cnt = new int[26];
+ Arrays.fill(cnt, Integer.MAX_VALUE);
+ for (String w : words) {
+ int[] ccnt = new int[26];
+ for (int i = 0; i < w.length(); ++i) ++ccnt[w.charAt(i) - 'a'];
+ for (int i = 0; i < 26; ++i) cnt[i] = Math.min(cnt[i], ccnt[i]);
+ }
+ List<String> res = new ArrayList<>();
+ for (int i = 0; i < 26; ++i)
+ while (cnt[i]-- > 0) res.add(String.valueOf((char) (i + 'a')));
+ return res;
+ }
+}
+