999. 车的可用捕获量

题目描述

题目来自leetcode,详细信息可到leetcode-cn.com

来自leetcode-cn.com

思路

看题一小时,做题十分钟。。。。模拟题。。。

代码

class Solution {
public:
    int numRookCaptures(vector<vector<char>>& board) {
        int sum = 0,x = 0,y =0;
        int dir[4][2] = {{1,0},{-1,0},{0,1},{0,-1}};
        for(int i = 0; i < 8; i++)
        {
            for(int j = 0; j < 8; j++)
            {
                if(board[i][j] == 'R')
                {
                    x = i;
                    y = j;
                    break;
                }
                  
            }
        }
    
         for (int i = 0; i < 4; ++i) 
         {
            int step = 1;
            while(step)
             {
                int dx = x + step * dir[i][0];
                int dy = y + step * dir[i][1];
                if (dx < 0 || dx >= 8 || dy < 0 || dy >= 8 || board[dx][dy] == 'B') 
                    break;
                if (board[dx][dy] == 'p') {
                    sum++;
                    break;
                }
                step++;
            }
        }
    return sum;

}
};
发布了25 篇原创文章 · 获赞 0 · 访问量 217
展开阅读全文

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

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览