aboutsummaryrefslogtreecommitdiff
path: root/challenge-152/lubos-kolouch/java
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-152/lubos-kolouch/java')
-rw-r--r--challenge-152/lubos-kolouch/java/ch-1.java36
-rw-r--r--challenge-152/lubos-kolouch/java/ch-2.java58
2 files changed, 94 insertions, 0 deletions
diff --git a/challenge-152/lubos-kolouch/java/ch-1.java b/challenge-152/lubos-kolouch/java/ch-1.java
new file mode 100644
index 0000000000..46bda99f11
--- /dev/null
+++ b/challenge-152/lubos-kolouch/java/ch-1.java
@@ -0,0 +1,36 @@
+class MinPathFinder {
+
+ static int get_min_count(int[][] in_arr) {
+ int min_sum = 0;
+
+ int i;
+ for (i = 0; i < in_arr.length; i++) {
+ int min = in_arr[i][0];
+
+ int j;
+ for (j = 0; j < in_arr[i].length; j++) {
+ if (in_arr[i][j] < min) {
+ min = in_arr[i][j];
+ }
+ }
+
+ min_sum += min;
+ }
+ return min_sum;
+ }
+
+ public static void main(String[] args) {
+
+ int[][] my_list = {{1}, {5, 3}, {2, 3, 4}, {7, 1, 0, 2}, {6, 4, 5, 2, 8}};
+
+ if (get_min_count(my_list) != 8) {
+ System.out.println("Failed test 1");
+ }
+
+ int[][] my_list2 = {{5}, {2, 3}, {4, 1, 5}, {0, 1, 2, 3}, {7, 2, 4, 1, 9}};
+
+ if (get_min_count(my_list2) != 9) {
+ System.out.println("Failed test 2");
+ }
+ }
+}
diff --git a/challenge-152/lubos-kolouch/java/ch-2.java b/challenge-152/lubos-kolouch/java/ch-2.java
new file mode 100644
index 0000000000..85e10266cb
--- /dev/null
+++ b/challenge-152/lubos-kolouch/java/ch-2.java
@@ -0,0 +1,58 @@
+class Point {
+ int x, y;
+
+ public Point(int x, int y) {
+ this.x = x;
+ this.y = y;
+ }
+};
+
+class Rectangle {
+ Point left, right;
+
+ public Rectangle(Point left, Point right) {
+ this.left = left;
+ this.right = right;
+ }
+
+ public int get_area() {
+ return Math.abs(this.left.x - this.right.x) *
+ Math.abs(this.left.y - this.right.y);
+ }
+};
+
+class OverlapArea {
+
+ static int get_total_area(Rectangle first, Rectangle second) {
+ int area1 = first.get_area();
+ int area2 = second.get_area();
+
+ // calculate the overlapping area
+ int x_dist = Math.min(first.right.x, second.right.x) -
+ Math.max(first.left.x, second.left.x);
+ int y_dist = Math.min(first.right.y, second.right.y) -
+ Math.max(first.left.y, second.left.y);
+ int areaI = 0;
+ if (x_dist > 0 && y_dist > 0) {
+ areaI = x_dist * y_dist;
+ }
+
+ return (area1 + area2 - areaI);
+ }
+
+ public static void main(String[] args) {
+ Rectangle first = new Rectangle(new Point(-1, 0), new Point(2, 2));
+ Rectangle second = new Rectangle(new Point(0, -1), new Point(4, 4));
+
+ if (get_total_area(first, second) != 22) {
+ System.out.println("Failed test 1");
+ }
+
+ first = new Rectangle(new Point(-3, -1), new Point(1, 3));
+ second = new Rectangle(new Point(-1, -3), new Point(2, 2));
+
+ if (get_total_area(first, second) != 25) {
+ System.out.println("Failed test 2");
+ }
+ }
+}