LeetCode-Battleships in a Board
来源:互联网 发布:办公软件速成班 编辑:程序博客网 时间:2024/06/05 14:24
1. Battleships in a Board(Medium)
Description
Given an 2D board, count how many battleships are in it. The battleships are represented with 'X'
s, empty slots are represented with '.'
s. You may assume the following rules:
- You receive a valid board, made of only battleships or empty slots.
- Battleships can only be placed horizontally or vertically. In other words, they can only be made of the shape
1xN
(1 row, N columns) orNx1
(N rows, 1 column), where N can be of any size. - At least one horizontal or vertical cell separates between two battleships - there are no adjacent battleships.
Example:
X..X...X...X
In the above board there are 2 battleships.
Invalid Example:
...XXXXX...X
This is an invalid board that you will not receive - as battleships will always have a cell separating between them.
Follow up:
Could you do it in one-pass, using only O(1) extra memory and without modifying the value of the board?
Analysis
分析题意,题目要求我们找出船的数量,船只有水平和垂直两种形式,并且题目规定两条船不能相互接触,所以我们找到每条船的船头就可以知道所有船的数量。即找到所有的上方和左方没有'X'
的'X'
。
代码:
class Solution {public: int countBattleships(vector<vector<char>>& board) { if (board.empty()) return 0; int result = 0; for (int i = 0; i < board.size(); i++) for (int j = 0; j < board[i].size(); j++) if (board[i][j] == 'X' && (i == 0 || board[i - 1][j] == '.') && (j == 0 || board[i][j - 1] == '.')) result++; return result; }};
阅读全文
0 0
- Leetcode Battleships in a Board
- Battleships in a Board [Leetcode]
- LeetCode-Battleships in a Board
- LeetCode[419] Battleships in a Board
- LeetCode #419: Battleships in a Board
- 【leetcode】419. Battleships in a Board【E】
- Leetcode题解:419. Battleships in a Board
- leetcode oj java Battleships in a Board
- leetcode 419 Battleships in a Board C++
- 419. [LeetCode]Battleships in a Board
- LeetCode 419. Battleships in a Board
- leetcode 419. Battleships in a Board
- Leetcode 419 Battleships in a Board
- LeetCode笔记:419. Battleships in a Board
- LeetCode 419. Battleships in a Board
- [leetcode]419. Battleships in a Board
- 【LeetCode】 419. Battleships in a Board
- LeetCode--419. Battleships in a Board
- requests模拟登陆京东(2017-10-1)
- 模块的内置变量
- 零复制(zero copy)技术
- Pycharm使用技巧:Show as JSON(以友好的方式显示输出框的json字符串)
- 页面DOM元素的scroll与offset相关属性
- LeetCode-Battleships in a Board
- Python3 循环语句
- gram_matrix
- 计蒜客 Query on a string (线段树)
- 动态规划之记忆化搜索(滑雪)
- RHEL7.2安装驱动
- [算法分析与设计] leetcode 每周一题: 126. Word Ladder II
- 2016ACM/ICPC亚洲区青岛站【solved:5 / 13】
- java虚拟机加载类机制