LeetCode
Sliding Puzzle
Click
here
for an explanation.