該問題比較簡單,由于相鄰之間的艦隊不會有重復,并且每個艦隊只會在一行或一列。求艦隊數目。
問題的關鍵在于不要重復計算艦隊。可以有多種方法,本題采用統計X處,左和上是不是沒有艦隊的方式避免重復計算艦隊。
class Solution {public: int countBattleships(vector<vector<char>>& board) { int count=0; for(int i=0;i<board.size();i++) { for(int j=0;j<board[i].size();j++) { if(board[i][j]=='X') { if(((i-1>=0&&board[i-1][j]=='.')||i-1<0)&&((j-1>=0&&board[i][j-1]=='.')||j-1<0)) count++; } } } return count; }};新聞熱點
疑難解答