An A Star Search pathfinding algorithm for determining the shortest route from start (0,0) to a provided goal (goal_x, goal_y) given a list of obstacles. The algorithm assumes that 8-way movement is possible on the grid but diagonal movement is more expensive than non-diagonal movement.
An example is provided in Main.java for the following problem:
The returned solution is: [ 1, 0 ], [ 2, 0 ], [ 3, 1 ], [ 2, 2 ], [ 2, 3 ], [ 3, 4 ], [ 4, 4 ]