Java实现 LeetCode 419 甲板上的战舰
2024-08-27 10:18:30
419. 甲板上的战舰
给定一个二维的甲板, 请计算其中有多少艘战舰。 战舰用 'X’表示,空位用 '.'表示。 你需要遵守以下规则:
给你一个有效的甲板,仅由战舰或者空位组成。
战舰只能水平或者垂直放置。换句话说,战舰只能由 1xN (1 行, N 列)组成,或者 Nx1 (N 行, 1 列)组成,其中N可以是任意大小。
两艘战舰之间至少有一个水平或垂直的空位分隔 - 即没有相邻的战舰。
示例 :
X..X
...X
...X
在上面的甲板中有2艘战舰。
无效样例 :
...X
XXXX
...X
你不会收到这样的无效甲板 - 因为战舰之间至少会有一个空位将它们分开。
进阶:
你可以用一次扫描算法,只使用O(1)额外空间,并且不修改甲板的值来解决这个问题吗?
PS:
如果我当前为X,我的上一个并且我的做一个都不是得话,这个才可能成立
class Solution {
public int countBattleships(char[][] board) {
int count = 0;
for(int i = 0 ; i < board.length ; i ++) {
for(int j = 0 ; j < board[0].length ; j ++) {
if(board[i][j] == 'X') {
Boolean isShip = true;
if(i != 0) {
if(board[i - 1][j] == 'X') {
isShip = false;
}
}
if(j != 0) {
if(board[i][j - 1] == 'X') {
isShip = false;
}
}
if(isShip) {
count ++;
}
}
}
}
return count;
}
}
最新文章
- 【MVVM DEV】DataColumn中的TextBox与ComboBox的并存
- HoloLens外包团队:HoloLens有一个严重缺陷,但微软并不想改
- libCEF总结01下载、编译、入门
- Android 系统常用的权限
- linux系统下root用户和普通用户的时区不一致
- 设计模式(Abstract Factory)抽象工厂
- HDU4685 Prince and Princess 完美搭配+良好的沟通
- Django1.10+Mysql 5.7存储emoji表情,报Incorrect string value: &#39;\\xF0\\x9F\\x90\\xA8&#39; for column &#39;signature&#39; at row 1的解决方法
- C#高级编程学习一-----------------第五章泛型
- Nginx是如何处理Request的?
- Win10下安装RabbitMQ以及基本知识学习
- css3 样式过度器 Transition
- EasyTouch和NGUI的使用心得
- python 模块之-re
- Springboot:没有src/main/resources目录(引入图片时(或静态资源时)发现没有该目录)
- 算法笔记--最大流和最小割 &;&; 最小费用最大流 &;&; 上下界网络流
- 异常处理:net.sf.cglib.beans.BulkBeanException
- Jenkins持续集成【简介】
- ZOJ3696 Alien&#39;s Organ 2017-04-06 23:16 51人阅读 评论(0) 收藏
- vue 图片压缩 基于cli3 配置