Battleships in a Board 题解
2017-02-24 19:27
344 查看
Battleships in
a Board 题解
题目描述: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:
链接:点击打开链接
题解:
在一个矩阵中,我们按照从上到下,从左到右的方法搜索 “X” ,当搜索到 “X” 时,按照题意,我们需要检查它的位置,即注意它的同一行上的前一个(左)位置没有 “X” ,以及它的同一列上前一个(上)位置也没有 “X”,用if(board[i][j]=='X' && (i==0 || board[i-1][j]=='.') && (j==0 || board[i][j-1]=='.'))
来设置这样的策略。如果满足这两条策略,我们认为这个“战舰”存在。算法的复杂度为O(n²)。
代码部分:
class Solution { public: int countBattleships(vector<vector<char>>& board) { int ans=0; for(int i=0; i<board.size(); i++){ for(int j=0; j<board[0].size(); j++){ if(board[i][j]=='X' && (i==0 || board[i-1][j]=='.') && (j==0 || board[i][j-1]=='.')){ ans++; } } } return ans; } };
相关文章推荐
- Leetcode 419 Battleships in a Board
- leetcode 419 Battleships in a Board C++
- Battleships in a Board战列舰队问题解法分析
- LeetCode:419. Battleships in a Board
- Battleships in a Board(统计战舰数)
- [LeetCode]Battleships in a Board 战舰数目
- LeetCode #419: Battleships in a Board
- Battleships in a Board
- Battleships in a Board [Leetcode]
- LeetCode Battleships in a Board
- LeetCode[419] Battleships in a Board
- [LeetCode] Battleships in a Board 平板上的战船
- LeetCode 419 Battleships in a Board (DFS 或 模拟)
- Battleships in a Board
- leetcode oj java Battleships in a Board
- Battleships in a Board
- Battleships in a Board
- Battleships in a Board问题及解法
- battleships-in-a-board
- ios9兼容系列之解决iPad提交报错“iPad Multitasking support requires launch story board in bundle '”