diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2025-08-04 23:38:41 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-08-04 23:38:41 +0100 |
| commit | e7b7e4d53ed43950effa2822f420dbf4eeb726f8 (patch) | |
| tree | 2831e9f0f0072a3f245532b18466df5ce712c98e /challenge-333/deadmarshal/java | |
| parent | 741cefe18001f6fed70297862bfe9535db2bd7c1 (diff) | |
| parent | b830fb716a3819d5494d850f4fbec45ac3c49ddf (diff) | |
| download | perlweeklychallenge-club-e7b7e4d53ed43950effa2822f420dbf4eeb726f8.tar.gz perlweeklychallenge-club-e7b7e4d53ed43950effa2822f420dbf4eeb726f8.tar.bz2 perlweeklychallenge-club-e7b7e4d53ed43950effa2822f420dbf4eeb726f8.zip | |
Merge pull request #12461 from deadmarshal/TWC333
TWC333
Diffstat (limited to 'challenge-333/deadmarshal/java')
| -rw-r--r-- | challenge-333/deadmarshal/java/Ch1.java | 19 | ||||
| -rw-r--r-- | challenge-333/deadmarshal/java/Ch2.java | 36 |
2 files changed, 55 insertions, 0 deletions
diff --git a/challenge-333/deadmarshal/java/Ch1.java b/challenge-333/deadmarshal/java/Ch1.java new file mode 100644 index 0000000000..c426d8ccbf --- /dev/null +++ b/challenge-333/deadmarshal/java/Ch1.java @@ -0,0 +1,19 @@ +public class Ch1 { + public static void main(String[] args) { + System.out.println(straight_line(new int[][]{{2, 1}, {2, 3}, {2, 5}})); + System.out.println(straight_line(new int[][]{{1, 4}, {3, 4}, {10, 4}})); + System.out.println(straight_line(new int[][]{{0, 0}, {1, 1}, {2, 3}})); + System.out.println(straight_line(new int[][]{{1, 1}, {1, 1}, {1, 1}})); + System.out.println(straight_line(new int[][]{{1000000, 1000000}, + {2000000, 2000000}, {3000000, 3000000}})); + } + + private static boolean straight_line(int[][] arr) { + int x1 = arr[0][0], y1 = arr[0][1], x2 = arr[1][0], y2 = arr[1][1]; + for (int i = 2; i < arr.length; ++i) { + int x = arr[i][0], y = arr[i][1]; + if ((x - x1) * (y2 - y1) != (y - y1) * (x2 - x1)) return false; + } + return true; + } +}
\ No newline at end of file diff --git a/challenge-333/deadmarshal/java/Ch2.java b/challenge-333/deadmarshal/java/Ch2.java new file mode 100644 index 0000000000..baac1c6ac5 --- /dev/null +++ b/challenge-333/deadmarshal/java/Ch2.java @@ -0,0 +1,36 @@ +import java.util.Arrays; + +public class Ch2 { + public static void main(String[] args) { + int[] a1 = new int[]{1, 0, 2, 3, 0, 4, 5, 0}; + int[] a2 = new int[]{1, 2, 3}; + int[] a3 = new int[]{1, 2, 3, 0}; + int[] a4 = new int[]{0, 0, 1, 2}; + int[] a5 = new int[]{1, 2, 0, 3, 4}; + for (var a : new int[][]{a1, a2, a3, a4, a5}) duplicate_zeros(a); + System.out.println(Arrays.toString(a1)); + System.out.println(Arrays.toString(a2)); + System.out.println(Arrays.toString(a3)); + System.out.println(Arrays.toString(a4)); + System.out.println(Arrays.toString(a5)); + } + + private static void duplicate_zeros(int[] arr) { + int n = arr.length, i = -1, k = 0; + while (k < n) { + ++i; + k += arr[i] > 0 ? 1 : 2; + } + int j = n - 1; + if (k == n + 1) { + arr[j--] = 0; + --i; + } + while (j >= 0) { + arr[j] = arr[i]; + if (arr[i] == 0) arr[--j] = arr[i]; + --i; + --j; + } + } +} |
