LeetCode刷题记录 |
文章目录
- 📜题目描述
- 💡解题思路
- ⌨C++代码
📜题目描述
给你一个大小为
m x n
的矩阵board
表示甲板,其中,每个单元格可以是一艘战舰'X'
或者是一个空位'.'
,返回在甲板board
上放置的 战舰 的数量。
战舰 只能水平或者垂直放置在board
上。换句话说,战舰只能按1 x k
(1 行,k 列)或k x 1
(k 行,1 列)的形状建造,其中k
可以是任意大小。两艘战舰之间至少有一个水平或垂直的空位分隔 (即没有相邻的战舰)。
示例1
输入:board = [["X",".",".","X"],[".",".",".","X"],[".",".",".","X"]]
输出:2
示例2
输入:board = [["."]]
输出:0
提示:
- m == board.length
- n == board[i].length
- 1 <= m, n <= 200
board[i][j]
是'.'
或'X'
💡解题思路
所以,如果某个位置是’X’,还需要判断:
1. 这一行的前一个位置是不是 ‘X’
2. 这一列的前一个位置是不是 ‘X’
如果都不是,说明这是一个新的战舰,战舰的数量+1
最后返回战舰数量count即可