From e8aeeee6722902fd02c0c6ba244738acac8fa983 Mon Sep 17 00:00:00 2001 From: Ali Date: Tue, 19 Aug 2025 10:07:57 +0330 Subject: TWC335 --- challenge-335/deadmarshal/java/Ch1.java | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 challenge-335/deadmarshal/java/Ch1.java (limited to 'challenge-335/deadmarshal/java/Ch1.java') 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 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 res = new ArrayList<>(); + for (int i = 0; i < 26; ++i) + while (cnt[i]-- > 0) res.add(String.valueOf((char) (i + 'a'))); + return res; + } +} + -- cgit