aboutsummaryrefslogtreecommitdiff
path: root/challenge-324/deadmarshal/java
diff options
context:
space:
mode:
authorAli <adeadmarshal@gmail.com>2025-06-02 18:33:15 +0330
committerAli <adeadmarshal@gmail.com>2025-06-02 18:33:15 +0330
commit8a0307468a4e57aa6b31bd189f5b2f47d4b3ea88 (patch)
treeff50f6209c08e01ab3b357418042734ec6f1f730 /challenge-324/deadmarshal/java
parentb0159e77cc4e56da3a5a1c86d5769c652bcc887e (diff)
downloadperlweeklychallenge-club-8a0307468a4e57aa6b31bd189f5b2f47d4b3ea88.tar.gz
perlweeklychallenge-club-8a0307468a4e57aa6b31bd189f5b2f47d4b3ea88.tar.bz2
perlweeklychallenge-club-8a0307468a4e57aa6b31bd189f5b2f47d4b3ea88.zip
TWC324
Diffstat (limited to 'challenge-324/deadmarshal/java')
-rw-r--r--challenge-324/deadmarshal/java/Ch1.java20
-rw-r--r--challenge-324/deadmarshal/java/Ch2.java18
2 files changed, 38 insertions, 0 deletions
diff --git a/challenge-324/deadmarshal/java/Ch1.java b/challenge-324/deadmarshal/java/Ch1.java
new file mode 100644
index 0000000000..80e1014aa1
--- /dev/null
+++ b/challenge-324/deadmarshal/java/Ch1.java
@@ -0,0 +1,20 @@
+import java.util.Arrays;
+
+public class Ch1 {
+ public static void main(String[] args) {
+ System.out.println(Arrays.deepToString(twod_array(new int[]{1, 2, 3, 4}, 2, 2)));
+ System.out.println(Arrays.deepToString(twod_array(new int[]{1, 2, 3}, 1, 3)));
+ System.out.println(Arrays.deepToString(twod_array(new int[]{1, 2, 3, 4}, 4, 1)));
+ }
+
+ private static int[][] twod_array(int[] arr, int r, int c) {
+ if (r * c != arr.length) return new int[0][0];
+ int[][] res = new int[r][c];
+ for (int i = 0; i < r; ++i) {
+ for (int j = 0; j < c; ++j) {
+ res[i][j] = arr[i * c + j];
+ }
+ }
+ return res;
+ }
+}
diff --git a/challenge-324/deadmarshal/java/Ch2.java b/challenge-324/deadmarshal/java/Ch2.java
new file mode 100644
index 0000000000..5236df8664
--- /dev/null
+++ b/challenge-324/deadmarshal/java/Ch2.java
@@ -0,0 +1,18 @@
+public class Ch2 {
+ public static void main(String[] args) {
+ System.out.println(total_xor(new int[]{1, 3}));
+ System.out.println(total_xor(new int[]{5, 1, 6}));
+ System.out.println(total_xor(new int[]{3, 4, 5, 6, 7, 8}));
+ }
+
+ private static int total_xor(int[] arr) {
+ int n = arr.length, res = 0;
+ for (int i = 0; i < 1 << n; ++i) {
+ int s = 0;
+ for (int j = 0; j < n; ++j) if ((i >> j & 1) == 1) s ^= arr[j];
+ res += s;
+ }
+ return res;
+ }
+}
+