美文网首页
419. 甲板上的战舰

419. 甲板上的战舰

作者: bangbang2 | 来源:发表于2020-07-15 10:44 被阅读0次
image.png

这个题基本思路和岛屿的数量问题是一致,需要注意的是
题目已经说了:两条战舰不能直接相邻,必须有“.”来隔开
所以这样就不可以


image.png

和岛屿的代码都一样

class Solution {
    public int countBattleships(char[][] board) {
       //if(board.length==0) return 0;
       int count=0;
       for(int i=0;i<=board.length-1;i++){
           for(int j=0;j<=board[0].length-1;j++){
               if(board[i][j]=='X'){
                   count++;
                   dfs(i,j,board);
                   
               }
           }
       }
       return count;
    }
     void dfs(int i,int j,char[][] board){
        if(i<0||i>=board.length||j<0||j>=board[0].length||board[i][j]!='X') return;
        board[i][j]='.';//沉没
        dfs(i-1,j,board);
        dfs(i+1,j,board);
        dfs(i,j-1,board);
        dfs(i,j+1,board);
    }
}
image.png

进阶版,要求不修改甲板值,就是指不能去沉没
这样可以用判断来解决,如果当前点是X,如果该点的前一个点和左边的点是X,那说明这个点就不能++,之前已经统计过了

class Solution {
    public int countBattleships(char[][] board) {
       //if(board.length==0) return 0;
       int count=0;
       for(int i=0;i<=board.length-1;i++){
           for(int j=0;j<=board[0].length-1;j++){
               if(board[i][j]=='X'){
                   if(i>0&&board[i-1][j]=='X')  continue;
                   if(j>0&&board[i][j-1]=='X')  continue;
                   count++;              
               }
           }
       }
       return count;
    }
     
}

相关文章

  • 419. 甲板上的战舰

    这个题基本思路和岛屿的数量问题是一致,需要注意的是题目已经说了:两条战舰不能直接相邻,必须有“.”来隔开所以这样就...

  • 419. 甲板上的战舰(Python)

    题目 难度:★★★☆☆类型:二维数组方法:深度优先搜索 力扣链接请移步本题传送门[https://leetcode...

  • 甲板上的战舰

    题目描述:给定一个二维的甲板, 请计算其中有多少艘战舰。 战舰用 'X'表示,空位用 '.'表示。 你需要遵守以下...

  • 甲板上的战舰

    来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/battle...

  • leetcode_419_甲板上的战舰

    给定一个二维的甲板, 请计算其中有多少艘战舰。战舰用'X'表示,空位用'.'表示。你需要遵守以下规则: 给你一个有...

  • 力扣 419 甲板上的战舰

    题意:给定一个甲板,查看上边停了多少战舰 思路:遍历数组,遇到X查看它的左边和上边是否有X,如果没有结果++ 思想...

  • 2019-11-18

    LeetCode 419. Battleships in a Board Description Given an...

  • 在甲板上

    >>格 风 托尼也是醉了它从窗台跳到书柜又从壁橱空降到我椅背上刨我的肩膀我肩上有什么秘密被伤到了轻微而尖锐忍不住要...

  • 《甲板上的姑娘》

    风平浪静的海面上 初升的太阳洒出万丈光芒 把深蓝色的海水染成了金黄 呈现一派安宁祥和的景象 · 有一艘豪华巨轮停靠...

  • 甲板上的少女

    一轮圆月挂在夜幕中 潮水如章鱼的爪一般不断地攀在船上 两条光滑如白绸的腿不停地敲打着木板 那是一名少女 哼着安逸的...

网友评论

      本文标题:419. 甲板上的战舰

      本文链接:https://www.haomeiwen.com/subject/dufdhktx.html