https://github.com/idelstak/water-towers-problem
If you have an input array where each element represents the height of one tower in a line of towers. And, the width of every tower is 1. It starts raining. How much water is collected between the towers? How much water is collected after evaporation?
https://github.com/idelstak/water-towers-problem
algorithms-and-data-structures java look-forward sweep
Last synced: 6 months ago
JSON representation
If you have an input array where each element represents the height of one tower in a line of towers. And, the width of every tower is 1. It starts raining. How much water is collected between the towers? How much water is collected after evaporation?
- Host: GitHub
- URL: https://github.com/idelstak/water-towers-problem
- Owner: IdelsTak
- Created: 2021-08-21T08:49:57.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-08-21T10:58:32.000Z (over 4 years ago)
- Last Synced: 2025-06-12T01:04:21.875Z (6 months ago)
- Topics: algorithms-and-data-structures, java, look-forward, sweep
- Language: Java
- Homepage:
- Size: 32.2 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# Waters Towers
## Problem Definition
There is a landscape with hills and pits which has similar square shapes.
Max number of positions is `32000`. Height is between `0` and `32000`.
**For example**: The first position has height `2`, the second position has height `5`.
The landscape can be represented as a collection of heights:
`[2, 5, 6, 8, 1, 4, 6, 2, 7, 2, 8, 4, 2, 6, 8, 4, 2, 5, 6, 2, 3, 5, 0, 2, 4, 1, 5, 1, 4, 4, 6, 2, 5, 2, 5, 2, 4, 2, 5, 7, 2, 2, 4, 6, 9, 6, 4, 6, 3, 6, 3, 6, 7, 5, 3, 2]`
X
X X X X
X X X X X X X
X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X
When it rains, the landscape is filled with water.
Water is collected inside pits only between hills.
**For example**: collected `183` squares of water
X O O O O O O X O O O X O O O O O O O O O O O O O O O O O O O O O O O O O O O O O X
X O O O O X O X O O O X O O O O O O O O O O O O O O O O O O O O O O O O X O O O O X O O O O O O O X
X X O O X O X O X O O X X O O O X O O O O O O O O O O O X O O O O O O O O X O O O X X X O X O X O X X
X X X O O X O X O X O O X X O O X X O O X O O O O X O O O X O X O X O O O X X O O O X X X O X O X O X X X
X X X O X X O X O X X O X X X O X X O O X O O X O X O X X X O X O X O X O X X O O X X X X X X O X O X X X
X X X O X X O X O X X O X X X O X X O X X O O X O X O X X X O X O X O X O X X O O X X X X X X X X X X X X X
X X X X O X X X X X X X X X X X X X X X X X O X X O X O X X X X X X X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X O X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X
Then the sun comes out from behind the clouds, it partly evaporates the water from the top of the pits.
The sun can evaporate up to `2` squares.
**For example**: some amount of water is evaporated. As a result, finally only `99` squares of water are collected.
X X X X
X X X X X X X
X X O O X O X O X O O X X O O O X O O O O O O O O O O O X O O O O O O O O X O O O X X X X X X X
X X X O O X O X O X O O X X O O X X O O X O O O O X O O O X O X O X O O O X X O O O X X X O X O X O X X X
X X X O X X O X O X X O X X X O X X O O X O O X O X O X X X O X O X O X O X X O O X X X X X X O X O X X X
X X X O X X O X O X X O X X X O X X O X X O O X O X O X X X O X O X O X O X X O O X X X X X X X X X X X X X
X X X X O X X X X X X X X X X X X X X X X X O X X O X O X X X X X X X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X O X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X
## Solution
### Compile Code
Navigate to the project folder's root, i.e., `/landscape` (where the `pom.xml` file is located) -- then run:
```
$ mvn clean install
```
Find the `landscape-1.0.0-SNAPSHOT.jar` that will be produced by maven as a result.
Then run the jar file while passing numbers as arguments to represent the landscape you want to analyze for the Water Towers scenario.
### Example
Running:
```
java -jar landscape-1.0.0-SNAPSHOT.jar 5 9 0 6 4 7 4 8 5 3 7 5 8 3 6 7 5 3 9 7 3 4 3
```
Produces:
