【力扣每日打卡】2022.2.24球会落入何处

2022/2/24 23:56:36

本文主要是介绍【力扣每日打卡】2022.2.24球会落入何处,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

今天开始每天打卡了!

 

 题目如上

一开始也没啥好思路,就是想着暴力解,遍历一下 每个小球的下落路径就行,区分一下情况。

后来还是看了题解再做

觉得dfs是不错的方法,采用了递归的方式

首先要区分清楚不同的情况,找到递归的出口

然后再找到递归关系即可了。

以后这种思路要有的。

class Solution {
private:
    int m,n;
public:
    
    vector<int> findBall(vector<vector<int>>& grid) {
        m=grid.size();
        n=grid[0].size();
        vector<int> res;
        for(int i=0;i<n;i++){
            res.push_back(dfs(grid,0,i));
        }
        return res;
    }
    int dfs(vector<vector<int>>& v, int i, int j){
        if(j == n - 1 && v[i][j] == 1 || j == 0 && v[i][j] == -1)return -1;
        if(v[i][j] != v[i][j + v[i][j]])return -1;
        if(i==m-1)return j+v[i][j];
        return dfs(v,i+1,j+v[i][j]);
    }
};

 



这篇关于【力扣每日打卡】2022.2.24球会落入何处的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程