当前位置: 首页 > article >正文

每日一题 419. 棋盘上的战舰

419. 棋盘上的战舰

简单

class Solution {
public:
    int countBattleships(vector<vector<char>>& board) {
        
        int ans = 0;
        for(int i=0;i<board.size();++i)
        {
            for(int j=0;j<board[0].size();++j)
            {
                if(board[i][j] == 'X')
                {
                    dfs(board,i,j);
                    ++ans;
                }
            }
        }
        return ans;
    }

    void dfs(vector<vector<char>> &board,int x,int y)
    {
        board[x][y] = 'a';
        int dx[4] = {1,0,-1,0};
        int dy[4] = {0,1,0,-1};
        for(int i = 0;i<4;++i)
        {
            int nx = dx[i] + x;
            int ny = dy[i] + y;
            if(nx>=0 && nx < board.size() && ny >= 0 && ny < board[0].size() && board[nx][ny] == 'X')
            {
                dfs(board,nx,ny);
            }
        }
    }
};

http://www.kler.cn/a/517424.html

相关文章:

  • 自定义数据集使用框架的线性回归方法对其进行拟合
  • 基于SMPL的三维人体重建-深度学习经典方法之VIBE
  • 枚举与模拟 练习
  • SPP蓝牙串口
  • 关于 SR-IOV 架构论文的总结文章
  • 2025发文新方向:AI+量化 人工智能与金融完美融合!
  • GESP2024年6月认证C++六级( 第三部分编程题(2)二叉树)
  • react native i18n插值:跨组件trans
  • 麒麟操作系统基础知识保姆级教程(二十一)进入单用户模式
  • UE5 特效
  • 面试-二维数组
  • Oracle 创建用户和表空间
  • 第15章 监控任务的生命周期(Java高并发编程详解:多线程与系统设计)
  • Servlet 详解
  • EMC常用器件选型(一)
  • 提示词的艺术 ---- AI Prompt 进阶(提示词框架)
  • 三、双链表
  • 算法基础 -- Trie压缩树原理
  • 浏览器hid 和蓝牙bluetooth技术区别
  • WPF 打印功能实现
  • LPDDR4 precharge和selfresh 详解
  • .NET9增强OpenAPI规范,不再内置swagger
  • 经典卷积网络算法-VGG16
  • SpringAI基于Ollama调用通义千问
  • Web3 的核心理念:去中心化如何重塑互联网
  • 不只是mini-react第二节:实现最简fiber