func countBattleships(board [][]byte) (cnt int) { m := len(board) if m == 0 { return } n := len(board[0]) if n == 0 { return } for i := 0; i < m; i++ { for j := 0; j < n; j++ { if board[i][j] == 'X' { fill(board, j, i, m, n) cnt++ j++ } } } return } func fill(board [][]byte, x, y, m, n int) { board[y][x] = '.' for i := x + 1; i < n && board[y][i] == 'X'; i++ { board[y][i] = '.' } for i := y + 1; i < m && board[i][x] == 'X'; i++ { board[i][x] = '.' } }