Suggestion of a different solution to Matrix #75
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Maybe my solution will be a little easier to understand .
My solution uses the fact that we moving on the same pattern :
right -> down -> left -> up -> (->right ->....)
I created a location object in order to simplify the movement action ;
the object have row and col properties .
we are starting with
location = {row:0, col:0}
Each direction can be easily translated to a similar object that represents a step:
The last part is to create an empty matrix fill it with 0 ( or null or whatever not in our numbers range )
now all left is to use counter until it gets to n*n
fill the location and move to the next legal location .
if the next location is not legal or we already been there ? we just change the direction to the next one in a cyclic way :)