主要是一个递归函数:
func go(pathLen, row, col, lastNum int) int
每次进入的时候都找到上下左右中比 lastNum 大的最小的那个值,若不满足,则直接返回 pathLen。
假设存在,那么 temp = matrix[row][col],传递给下一个函数,pathLen + 1,row 和 col 为我们之前确定的那个方向,同时把当前的 matrix[row][col] 置为零,一直走到不能走。
现在我们已经取到了 pathLen,需要运行一遍 check,也就是遍历检查一遍 matrix,如果发现有大于 1的,也就意味着没打完怪兽,否则就打完了。
总体不难,但是那个上下左右边界扣的烦,应该有更好的做法。