419. Battleships in a Board

https://leetcode.com/problems/battleships-in-a-board/description/

Solution:

思路:
限定了不會(huì)有相鄰的兩個(gè)戰(zhàn)艦的存在,有了這一點(diǎn)限制,那么我們只需要遍歷一次二維數(shù)組就行了,只要找出戰(zhàn)艦的起始點(diǎn)。所謂的戰(zhàn)艦起始點(diǎn),就是為X的點(diǎn),而且該點(diǎn)的上方和左邊的點(diǎn)不能為X,所以我們只要找出所有滿足這個(gè)條件的點(diǎn)即可

Time Complexity: O(N) Space Complexity: O(N)

Solution Code:

class Solution {
    public int countBattleships(char[][] board) {
        int m = board.length;
        if (m==0) return 0;
        int n = board[0].length;
        
        int count=0;
        
        for (int i=0; i<m; i++) {
            for (int j=0; j<n; j++) {
                if (board[i][j] == '.') continue;
                if (i > 0 && board[i-1][j] == 'X') continue;
                if (j > 0 && board[i][j-1] == 'X') continue;
                count++;
            }
        }
        
        return count;
    }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容