Get a free weekly practice problem!

Keep that axe sharp.

× No thanks

Just No more free questions left!

Upgrade Now

A crack team of love scientists from OkEros (a hot new dating site) have devised a way to represent dating profiles as rectangles on a two-dimensional plane.

They need help writing an algorithm to find the intersection of two users' love rectangles. They suspect finding that intersection is the key to a matching algorithm so powerful it will cause an immediate acquisition by Google or Facebook or Obama or something.

Two rectangles overlapping a little. It must be love.

Write a method to find the rectangular intersection of two given love rectangles.

As with the example above, love rectangles are always "straight" and never "diagonal." More rigorously: each side is parallel with either the x-axis or the y-axis.

They are defined as objects of Rectangle class:

public static class Rectangle { // coordinates of bottom left corner private int leftX; private int bottomY; // dimensions private int width; private int height; public Rectangle(int leftX, int bottomY, int width, int height) { this.leftX = leftX; this.bottomY = bottomY; this.width = width; this.height = height; } public int getLeftX() { return leftX; } public int getBottomY() { return bottomY; } public int getWidth() { return width; } public int getHeight() { return height; } }

Your output rectangle should be a Rectangle object as well.

What if there is no intersection? Does your method do something reasonable in that case?

What if one rectangle is entirely contained in the other? Does your method do something reasonable in that case?

What if the rectangles don't really intersect but share an edge? Does your method do something reasonable in that case?

Do some parts of your method seem very similar? Can they be refactored so you repeat yourself less?

You must log in with one click to view the rest.

Once you're logged in, you'll get free full access to this and 4 other questions.

You must log in with one click to view the rest.

Once you're logged in, you'll get free full access to this and 4 other questions.

time and space.

What if we had an array of rectangles and wanted to find all the rectangular overlaps between all possible pairs of two rectangles within the array? Note that we'd be returning an array of rectangles.

What if we had an array of rectangles and wanted to find the overlap between all of them, if there was one? Note that we'd be returning a single rectangle.

You must log in with one click to view the rest.

Once you're logged in, you'll get free full access to this and 4 other questions.

What's next?

Powered by qualified.io

. . .