123456789101112131415161718192021222324252627282930 |
- 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] = '.'
- }
- }
|