diff options
| author | Ali <adeadmarshal@gmail.com> | 2025-07-30 11:05:56 +0330 |
|---|---|---|
| committer | Ali <adeadmarshal@gmail.com> | 2025-07-30 11:05:56 +0330 |
| commit | 4b7cf462c5ea159866becd61eb82ce9aa2f77320 (patch) | |
| tree | 75edd82dc75078346c78567326b61ef6ee2e7837 /challenge-331/deadmarshal/java | |
| parent | 1ff2c9796a511d63231d3757acb27e4046a91fb2 (diff) | |
| download | perlweeklychallenge-club-4b7cf462c5ea159866becd61eb82ce9aa2f77320.tar.gz perlweeklychallenge-club-4b7cf462c5ea159866becd61eb82ce9aa2f77320.tar.bz2 perlweeklychallenge-club-4b7cf462c5ea159866becd61eb82ce9aa2f77320.zip | |
TWC331
Diffstat (limited to 'challenge-331/deadmarshal/java')
| -rw-r--r-- | challenge-331/deadmarshal/java/Ch1.java | 12 | ||||
| -rw-r--r-- | challenge-331/deadmarshal/java/Ch2.java | 27 |
2 files changed, 39 insertions, 0 deletions
diff --git a/challenge-331/deadmarshal/java/Ch1.java b/challenge-331/deadmarshal/java/Ch1.java new file mode 100644 index 0000000000..23d9fe58f7 --- /dev/null +++ b/challenge-331/deadmarshal/java/Ch1.java @@ -0,0 +1,12 @@ +public class Ch1 { + public static void main(String[] args) { + System.out.println(last_word("The Weekly Challenge")); + System.out.println(last_word(" Hello World ")); + System.out.println(last_word("Let's begin the fun")); + } + + private static int last_word(String s) { + String[] arr = s.trim().split(" "); + return arr[arr.length - 1].length(); + } +} diff --git a/challenge-331/deadmarshal/java/Ch2.java b/challenge-331/deadmarshal/java/Ch2.java new file mode 100644 index 0000000000..db7b5c136b --- /dev/null +++ b/challenge-331/deadmarshal/java/Ch2.java @@ -0,0 +1,27 @@ +public class Ch2 { + public static void main(String[] args) { + System.out.println(buddy_strings("fuck", "fcuk")); + System.out.println(buddy_strings("love", "love")); + System.out.println(buddy_strings("fodo", "food")); + System.out.println(buddy_strings("feed", "feed")); + } + + private static boolean buddy_strings(String s1, String s2) { + if (s1.length() != s2.length()) return false; + int diff = 0; + int[] count1 = new int[26]; + int[] count2 = new int[26]; + for (int i = 0; i < s1.length(); ++i) { + int a = s1.charAt(i), b = s2.charAt(i); + ++count1[a - 'a']; + ++count2[b - 'a']; + if (a != b) ++diff; + } + boolean f = false; + for (int i = 0; i < 26; ++i) { + if (count1[i] != count2[i]) return false; + if (count1[i] > 1) f = true; + } + return diff == 2 || (diff == 0 && f); + } +} |
