aboutsummaryrefslogtreecommitdiff
path: root/challenge-331/deadmarshal/java
diff options
context:
space:
mode:
authorAli <adeadmarshal@gmail.com>2025-07-30 11:05:56 +0330
committerAli <adeadmarshal@gmail.com>2025-07-30 11:05:56 +0330
commit4b7cf462c5ea159866becd61eb82ce9aa2f77320 (patch)
tree75edd82dc75078346c78567326b61ef6ee2e7837 /challenge-331/deadmarshal/java
parent1ff2c9796a511d63231d3757acb27e4046a91fb2 (diff)
downloadperlweeklychallenge-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.java12
-rw-r--r--challenge-331/deadmarshal/java/Ch2.java27
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);
+ }
+}