Available catch 999. car
link
Title Description
Thinking
First find 车
the location.
Then 上下左右
four directions Search:
- If met
象
, end search - If met
卒
,num++
end search - If you are out of bounds to end the search
1. Code
class Solution {
public int numRookCaptures(char[][] board) {
//找到'R'的位置board[row][col]
int row = 0;
int col = 0;
for(int i = 0; i < board.length ;i++){
for(int j = 0; j < board[0].length ;j++){
if(board[i][j] == 'R'){
row = i;
col = j;
}
}
}
int num = 0;
int i = row;
int j = col;
while(j < board.length){
if(board[i][j] == 'p'){
num++;
break;
}
if(board[i][j] == 'B'){
break;
}
j++;
}
i = row;
j = col;
while(j >= 0){
if(board[i][j] == 'p'){
num++;
break;
}
if(board[i][j] == 'B'){
break;
}
j--;
}
i = row;
j = col;
while(i >= 0){
if(board[i][j] == 'p'){
num++;
break;
}
if(board[i][j] == 'B'){
break;
}
i--;
}
i = row;
j = col;
while(i < board.length){
if(board[i][j] == 'p'){
num++;
break;
}
if(board[i][j] == 'B'){
break;
}
i++;
}
return num;
}
}
2. The complexity analysis
Time complexity: O(N^2)
space complexity:O(1)