题目描述
blablabla
样例
blablabla
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
class Solution {
public:
bool st[10][10];
int dx[8] = {-2, -1, 1, 2, 2, 1, -1, -2};
int dy[8] = {1, 2, 2, 1, -1, -2, -2, -1};
bool dfs(int x,int y,int res,int n,vector<vector<int>>& grid)
{
int target=grid[x][y]+1;
if(target==n*n) return true;
for(int i=0;i<8;i++){
int tx=x+dx[i],ty=y+dy[i];
if(tx<0||ty<0||tx>=n||ty>=n) continue;
if(grid[tx][ty]==target)
{
if(dfs(tx,ty,res+1,n,grid)) return true;
}
}
return false;
}
bool checkValidGrid(vector<vector<int>>& grid) {
int n=grid.size();
int idx,idy;
if(grid[0][0]!=0) return false;
return dfs(0,0,1,n,grid);
}
};
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
为什么gird[0][0]不等于0就一定false?
题目说的从左上角出发只能
感谢DFS代码,不熟悉DFS用BFS做的