题目意思是:在一个给定的板上,“.”表示空白,“X”表示船,船可以是 1xN (1 row, N columns) or Nx1 (N rows, 1 column),但是两个船之间必须有间隔,否则是无效的,计算出船只数。
int countBattleships(vector<vector<char>>& board) {
if (board.empty() || board[0].empty()) { return 0; }
int m = board.size(), n = board[0].size(), cnt = 0;
for (int r = 0; r < m; r++)
for (int c = 0; c < n; c++)
cnt += board[r][c] == 'X' && (r == 0 || board[r - 1][c] != 'X') && (c == 0 || board[r][c - 1] != 'X');
return cnt;
}
看了半天题目,一开始还没理解题目意思(英文太烂),看了答案,理解了半天,还不算太明白,先留这边。有大神求指教啊。