做网站维护要多少钱一年,可以在自己的电脑上做网站吗,医院网站前置审批文件,WordPress怎么上传头像目录 419. 甲板上的战舰
题目描述#xff1a;
实现代码与解析#xff1a;
遍历
原理思路#xff1a; 419. 甲板上的战舰
题目描述#xff1a; 给你一个大小为 m x n 的矩阵 board 表示甲板#xff0c;其中#xff0c;每个单元格可以是一艘战舰 X 或者是一个空位 .
实现代码与解析
遍历
原理思路 419. 甲板上的战舰
题目描述 给你一个大小为 m x n 的矩阵 board 表示甲板其中每个单元格可以是一艘战舰 X 或者是一个空位 . 返回在甲板 board 上放置的 战舰 的数量。
战舰 只能水平或者垂直放置在 board 上。换句话说战舰只能按 1 x k1 行k 列或 k x 1k 行1 列的形状建造其中 k 可以是任意大小。两艘战舰之间至少有一个水平或垂直的空位分隔 即没有相邻的战舰。
示例 1 输入board [[X,.,.,X],[.,.,.,X],[.,.,.,X]]
输出2示例 2
输入board [[.]]
输出0提示
m board.lengthn board[i].length1 m, n 200board[i][j] 是 . 或 X
实现代码与解析
遍历
class Solution {public int countBattleships(char[][] board) {int n board.length;int m board[0].length;int res 0;for (int i 0; i n; i) {for (int j 0; j m; j) {if (board[i][j] X (i 0 || board[i - 1][j] ! X) (j 0 || board[i][ j -1] ! X)) {res ;}}}return res;}
}
原理思路 只统计船的左上点位。因为船形状是固定的只能一条线。 如果不是那么也很简单就是图论dfs或dfs标记一下以及遍历过的点即可。可以看下面这题的解析。
LeetCode200. 岛屿数量BFS Java-CSDN博客