The array represents a map with coins, and the integers represent a
row and column location of a coin gatherer. The gatherer is greedy and lazy when deciding to which
adjacent location (either up, down, left, right) to move next. It’s greedy because it moves to the location
with the highest number of coins; and it’s lazy because it will stop moving if no adjacent location
increases its coin treasure. If several adjacent locations had the same highest number of coins, the
gatherer will choose to move to the highest in a clockwise fashion (up, right, down, left). Diagonal
locations are not considered adjacent. The gatherer empties the coins from any location it visits. Lastly,
the method returns the coins acquired up to the point when the gatherer doesn’t move anymore. For
example, given {{ 1, 1, 1 },{ 0, 1, 0 },{ 0, 8, 0 }} and row 0 and column 0 as the initial location, the
gatherer moves twice to the right and stops, after collecting 3 coins.