题解 | #机器人的运动范围#

机器人的运动范围

https://www.nowcoder.com/practice/6e5207314b5241fb83f2329e89fdecc8

#include <vector>
class Solution {
public:
    void dfs(int threshold, int rows, int cols, int i, int j, vector<vector<bool> > &hash) {
        if (i < 0 || i >= rows || j < 0 || j >= cols 
        || hash[i][j] || i/10 + i%10 + j/10 + j%10 > threshold) return;
        hash[i][j] = true;
        dfs(threshold, rows, cols, i-1, j, hash);
        dfs(threshold, rows, cols, i+1, j, hash);
        dfs(threshold, rows, cols, i, j-1, hash);
        dfs(threshold, rows, cols, i, j+1, hash);
    }
    int movingCount(int threshold, int rows, int cols) {
        vector<vector<bool> > hash(rows, vector<bool> (cols, false));
        dfs(threshold, rows, cols, 0, 0, hash);
        int res = 0;
        for (int i = 0; i < rows; i++) {
            for (int j = 0; j < cols; j++) {
                res += hash[i][j] ? 1 : 0;
            }
        }
        return res;
    }
};

全部评论

相关推荐

点赞 评论 收藏
分享
04-11 15:34
已编辑
华中科技大学 网络安全
疯犬丨哈士奇:意思就是:我们还有其他更优秀的人在等回复,如果他们不要这个机会就会来找你
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务