Leetcode——999. 车的可用捕获量

题目传送门
这个题不难就是读懂题意需要耐心一点。

class Solution 
{
public:
    int north(int i,int j,vector<vector<char>>& board)
    {
        for(int a=i;a>=0;a--)
        {
            if(board[a][j]=='p')
            {
                return 1;
            }
            if(board[a][j]=='B')
            {
                return 0;
            }
        }
        return 0;
    }
    int south(int i,int j,vector<vector<char>>& board)
    {
        for(int a=i;a<8;a++)
        {
            if(board[a][j]=='p')
            {
                return 1;
            }
            if(board[a][j]=='B')
            {
                return 0;
            }
        }
        return 0;
    }
    int east(int i,int j,vector<vector<char>>& board)
    {
        for(int a=j;a<8;a++)
        {
            if(board[i][a]=='p')
            {
                return 1;
            }
            if(board[i][a]=='B')
            {
                return 0;
            }
        }
        return 0;
    }
    int west(int i,int j,vector<vector<char>>& board)
    {
        for(int a=j;a>=0;a--)
        {
            if(board[i][a]=='p')
            {
                return 1;
            }
            if(board[i][a]=='B')
            {
                return 0;
            }
        }
        return 0;
    }
    int numRookCaptures(vector<vector<char>>& board) 
    {
        for(int i=0;i<8;i++)
        {
            for(int j=0;j<8;j++)
            {
                if(board[i][j]=='R')
                {
                    return north(i,j,board)+south(i,j,board)+west(i,j,board)+east(i,j,board); 
                }
            }
        }
        return 0;
    }
};

在这里插入图片描述

发布了106 篇原创文章 · 获赞 27 · 访问量 4763
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 游动-白 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览