LeetCode:419. 甲板上的战舰(遍历 Java)

news2024/11/16 3:35:16

目录

419. 甲板上的战舰

题目描述:

实现代码与解析:

遍历

原理思路:


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.length
  • n == board[i].length
  • 1 <= m, n <= 200
  • board[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标记一下以及遍历过的点即可。可以看下面这题的解析。

LeetCode:200. 岛屿数量(BFS Java)-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1812836.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【机器学习300问】111、解释目标检测的基本概念?

一、目标检测基本概念 &#xff08;1&#xff09;目标检测的定义 目标检测是计算机视觉领域的一项关键任务&#xff0c;它旨在识别图像或视频帧中出现的所有感兴趣目标&#xff08;物体&#xff09;的位置和类别。简而言之&#xff0c;目标检测不仅需要判断图像中存在哪些类型…

LVS – NAT 模式集群构建

目录 1 环境准备 1.1 准备四台服务器 1.2 IP与网关均按照下图配置 1.3 网卡配置 1.4 real server 安装 web服务 1.5 安装ipvsadm 管理工具 2 使用ipvsadm管理LVS 2.1 创建集群指定使用的算法 2.2 添加真实服务器指定工作原理 2.3 查看是否正确创建集群 3 测试 3.1 使用tcpdump…

6.Hugging Face Transformers 快速入门

Hugging Face Transformers 库独特价值 丰富的预训练模型:提供广泛的预训练模型,如BERT、GPT、T5等,适用于各种NLP任务。易于使用:设计注重易用性,使得即使没有深厚机器学习背景的开发者也能快速上手。最新研究成果的快速集成:经常更新,包含最新的研究成果和模型。强大的…

SQL进阶day12——高级条件语句

1筛选限定昵称成就值活跃日期的用户 我的代码&#xff1a;答案不对 select uid,u.nick_name,u.achievement from exam_record er join practice_record pr using(uid) join user_info u using(uid) where u.nick_name like "牛客%号" and u.achievement between …

冯喜运:6.11晚间黄金原油走势如何及独家交易操作策略

【黄金消息面分析】&#xff1a;随着全球经济的波动和地缘政治的紧张&#xff0c;黄金作为传统的避险资产&#xff0c;其市场表现一直备受投资者关注。本文将深入分析黄金市场的即时反应&#xff0c;并结合技术分析&#xff0c;对黄金的未来走势进行预测&#xff0c;同时探讨可…

35.四方定理

上海市计算机学会竞赛平台 | YACSYACS 是由上海市计算机学会于2019年发起的活动&#xff0c;旨在激发青少年对学习人工智能与算法设计的热情与兴趣&#xff0c;提升青少年科学素养&#xff0c;引导青少年投身创新发现和科研实践活动。https://www.iai.sh.cn/problem/477 题目背…

CyberDAO:引领Web3时代的DAO社区文化

致力于Web3研究和孵化 CyberDAO自成立以来&#xff0c;致力于推动Web3研究和孵化&#xff0c;吸引了来自技术、资本、商业、应用与流量等领域的上千名热忱成员。我们为社区提供多元的Web3产品和商业机会&#xff0c;触达行业核心&#xff0c;助力成员捕获Web3.0时代的红利。 目…

82. 删除排序链表中的重复元素 and II

链接直达&#xff1a; 保留重复元素 不保留重复元素 题目&#xff1a; 1: 给定一个已排序的链表的头 head &#xff0c; 删除所有重复的元素&#xff0c;使每个元素只出现一次 。返回 已排序的链表 。示例 1&#xff1a;输入&#xff1a;head [1,1,2] 输出&#xff1a;[1…

《数据结构与算法之美》学习笔记二

前言&#xff1a;本篇文章介绍了一下二叉树中的基本知识点&#xff0c;包括二叉树的种类、二叉树的存储方式以及二叉树的深度和广度优先遍历&#xff1b;以及《数据结构与算法》中对于数组的讲解记录&#xff0c;只记录了本前端能看懂的&#x1f913;&#xff0c;还有很多知识点…

codeanalysis服务端Windows环境运行

1、在每个微服务中创建log文件夹 2、

接口+接口自动化测试疑难解答,一篇带你策底打通...

前言 1、你们做接口测试的流程一般是怎么样的&#xff1f; 接口测试的流程其实和功能测试的流程类似&#xff0c;因为接口测试依赖的主要对象也是需求说明书&#xff0c;所以&#xff0c;最初的流程就是参与需求讨论&#xff0c;评审需求。 需求确定以后&#xff0c;开发会根…

蚁群算法的优化计算——旅行商问题(TSP)优化matlab

微♥关注“电击小子程高兴的MATLAB小屋”获得资料 一&#xff0c;理论基础 生物学家研究发现&#xff0c;蚂蚁在寻找食物时&#xff0c;会在其经过的路径上释放一种信息素&#xff0c;并能够感知其他蚂蚁释放的信息素。信息素浓度的大小表示路径的远近&#xff0c;浓度越高&a…

大众点评全国宠物店铺POI采集13万家-2024年5月底

大众点评全国宠物店铺POI采集13万家-2024年5月底 店铺POI点位示例&#xff1a; 店铺id iJLEF6dlJjeeUum4 店铺名称 联合动物医院(汉口总院) 十分制服务评分 9.3 十分制环境评分 9.2 十分制划算评分 9.3 人均价格 679 评价数量 4879 店铺地址 解放大道1725附2号&#x…

catia展开模型树

1 直接点号 2 选中零件&#xff0c;右击--命令--将图居中即可 一般都是上面这样有选择性的展开 如果要一次性都展开那

【Spring6】1-12章源码级深入详解 IoC

一、Spring启示录 阅读以下代码&#xff1a; package com.powernode.oa.controller;import com.powernode.oa.service.UserService; import com.powernode.oa.service.impl.UserServiceImpl;public class UserController {private UserService userService new UserServiceI…

Linux-笔记 全志平台镜像中添加git提交号

引言 通过在镜像中某个位置添加git提交号&#xff0c;可以方便排查与追溯是哪个提交编译出来的。 这里使用的全志T113平台&#xff0c;SDK为Tina5.0。 实现的办法有&#xff1a; 1、内核/proc/cpuinfo的打印信息及设备树中查看提交号 2、从设备树查看提交号 3、从uboot启动…

Springboot3+自动装配

导言&#xff1a;这里主要讲述springboot3以后spring.factories功能失效&#xff0c;带来的解决办法。 之前有一次希望用springboot模块拿到工具模块的配置configuration的时候&#xff0c;想通过之前的spring.factories来实现自动装配&#xff0c;但是发现一直拿不到配置&…

java:FeignClient通过RequestInterceptor自动添加header

示例代码 【pom.xml】 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.3.12.RELEASE</version> </dependency> <dependency><groupId>o…

222、求出完全二叉树的节点

给你一棵 完全二叉树 的根节点 root &#xff0c;求出该树的节点个数。 完全二叉树 的定义如下&#xff1a;在完全二叉树中&#xff0c;除了最底层节点可能没填满外&#xff0c;其余每层节点数都达到最大值&#xff0c;并且最下面一层的节点都集中在该层最左边的若干位置。若最…

Exposure X7官方版下载-Alien Skin Exposure X7软件最新版安装步骤

​Exposure是用于创意照片编辑的最佳图像编辑器&#xff0c;Exposure结合了专业级照片调整&#xff0c;庞大的华丽照片外观库以及高效的设计&#xff0c;使其使用起来很愉悦&#xff0c;新的自动调整功能可简化您的工作流程&#xff0c;并使您进入创意区。 ​安 装 包 获 取 地…