本文主要是介绍200326题(999.车的可用捕获量),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这题很无聊的地方在于:以往北走为例,如果在往北走的过程中遇到一个卒,就不能再继续往北,而是要重新回到R的原点并重新选择新的方向去寻找。
class Solution {
public:int numRookCaptures(vector<vector<char>>& board) {int pos_x = -1, pos_y = -1;//找Rfor (int i = 0; i < 8; i++)for (int j = 0; j < 8; j++){if (board[i][j] == 'R'){pos_x = i;pos_y = j;break;}}if (pos_x == -1)return 0;//没找到R//startint dx[] = { 0,0,-1,1 };//上下左右int dy[] = { 1,-1,0,0 };//上下左右int res = 0;for (int i = 0; i < 4; i++){int temp_x = pos_x, temp_y = pos_y;//R回到初始位置while (temp_x >= 0 && temp_x <= 7 && temp_y >= 0 && temp_y <= 7){if (board[temp_x][temp_y] == 'B')break;if (board[temp_x][temp_y] == 'p'){res++;break;}temp_x += dx[i];temp_y += dy[i];}}return res;}};
这篇关于200326题(999.车的可用捕获量)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!