Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution {
- public:
- bool not_valid (vector<vector<char>>& board, int i , int j)
- {
- return i < 0 || i >= board.size() || j < 0 || j >= board[0].size();
- }
- void dfs (vector<vector<char>>& board, int i , int j)
- {
- if (not_valid ( board,i, j ) || board [i][j] == '.')
- return;
- board [i][j] = '.';
- dfs (board,i + 1 , j);
- dfs (board,i - 1 , j);
- dfs (board,i, j + 1);
- dfs (board,i , j - 1);
- }
- int countBattleships(vector<vector<char>>& board) {
- int res = 0;
- for (int i = 0 ; i < board.size(); i++)
- {
- for (int j = 0 ; j < board[0].size(); j++)
- {
- if (board[i][j] == 'X')
- {
- res++;
- dfs (board,i, j);
- }
- }
- }
- return res;
- }
- };
- only look for the first one
- int countBattleships(vector<vector<char>>& board) {
- int res = 0 ;
- int szi = board.size();
- int szj = board[0].size();
- for ( int i = 0 ; i < szi ; i++)
- {
- for (int j = 0 ; j < szj ; j ++)
- {
- if (board[i][j]=='X')
- {
- if ( (i == 0 || board[i-1][j]=='.') && (j==0 || board[i][j-1]=='.'))
- res++;
- }
- }
- }
- return res;
- }
Advertisement
Add Comment
Please, Sign In to add comment