'ошибка: <identifier>ожидаемая' ошибка в c ++ - PullRequest
0 голосов
/ 04 августа 2020

Я решаю вопрос, в котором мы хотим найти максимальное расстояние между верхним левым углом матрицы и нижним правым углом матрицы, но я получил эту ошибку. Я передал 2-мерный вектор функции, но она выдала ошибку:

Line 28: error: <identifier> expected
    void dfs(int i,int j,vector<vector<int>>& path,int[][]& grid)
                                            ^
Line 28: error: <identifier> expected
    void dfs(int i,int j,vector<vector<int>>& path,int[][]& grid)
                                                          ^
Line 28: error: <identifier> expected
    void dfs(int i,int j,vector<vector<int>>& path,int[][]& grid)
                                                                ^
3 errors

А вот мой код ..

class Solution {
   static bool isvalid(int i,int j,int[][] grid)
    {
        if(i>=0 && j>=0 && i<grid.length && j<grid[0].length)
        {
            return true;
        }
        return false;
    }
    public int minPathSum(int[][] grid) {
        int row=sizeof(grid);
        int col=sizeof(grid)/sizeof(grid[0]);
       vector<vector<int>>path;
        for(int i=0;i<row;i++)
        {
            for(int j=0;j<col;j++)
            {
                path[i].push_back(0);
            }
        }
        path[0][0]=grid[0][0];
        path[1][0]=grid[1][0]+grid[0][0];
        path[0][1]=grid[0][1]+grid[0][0];
        dfs(0,0,path,grid);
        return path[grid.length-1][grid[0].length-1];
    }
    
    void dfs(int i,int j,vector<vector<int>>& path,int[][]& grid)
    {
        if(isvalid(i,j,grid))
        {
            if(i == 0 && j == 0)
            {
                dfs(i+1,j,path,grid);
                dfs(i,j+1,path,grid);
            }
            else if(i == 0)
            {
                path[i][j]=grid[i][j]+path[i][j-1];
                dfs(i+1,j,path,grid); 
                dfs(i,j+1,path,grid);
            }
            else if(j == 0)
            {
                path[i][j]=grid[i][j]+path[i-1][j];
                dfs(i+1,j,path,grid); 
                dfs(i,j+1,path,grid);
            }
            dfs(i+1,j,path,grid); 
            dfs(i,j+1,path,grid);
        }
        return ;
    }
}

Я не могу узнать, куда я пошел неправильно. Пожалуйста, помогите

Спасибо ..

...