Учитывая матричное поле mxn, где каждая ячейка представляет собой линкор «X» или пустое «.», верните количество линкоров на борту.

Линкоры можно размещать на борту только горизонтально или вертикально. Другими словами, их можно сделать только в форме 1xk (1 строка, k столбцов) или kx 1 (k строк, 1 столбец), где k может быть любого размера. Между двумя линкорами находится хотя бы одна горизонтальная или вертикальная ячейка (т. е. соседних линкоров нет).

var countBattleships = function(board) {

    if (board === null || board.length === 0 || board[0].length == 0 ) 
        return 0;

    let res = 0;

    const m = board.length;
    const n = board[0].length;

    for(let i = 0; i < m; i++) {
        for (let j = 0; j < n; j++) {
            if (board[i][j] === '.' 
                || 
                    (i > 0 && board[i - 1][j] === 'X') 
                || 
                    (j > 0 && board[i][j - 1] === 'X')
               ) 
                continue;
            res++;
        }
    }

    return res;
};



Войти в полноэкранный режим

Выйти из полноэкранного режима