作者:-赵-宾-_879 | 来源:互联网 | 2024-10-27 13:45
篇首语:本文由编程笔记#小编为大家整理,主要介绍了leetcode 工作 每日一题 419. 甲板上的战舰 双指针相关的知识,希望对你有一定的参考价值。 题意: 每个连续的x成为一组&#
篇首语:本文由编程笔记#小编为大家整理,主要介绍了leetcode 工作 每日一题 419. 甲板上的战舰 双指针相关的知识,希望对你有一定的参考价值。
题意:
每个连续的x成为一组,每一组x独立,求x组的个数
思路:
双指针 复杂度O(row*col)
code java
class Solution
public int countBattleships(char[][] board)
int n=board.length;
if(n==0) return 0;
int m=board[0].length;
boolean st[][]=new boolean [n][m];
for(int i&#61;0;i<n;i&#43;&#43;)
for(int j&#61;0;j<m;j&#43;&#43;) st[i][j]&#61;false;
int res&#61;0;
for(int i&#61;0;i<n;i&#43;&#43;)
for(int j&#61;0;j<m;j&#43;&#43;)
if(st[i][j]) continue;
if(board[i][j]&#61;&#61;&#39;X&#39;)
res&#43;&#43;;
int k&#61;j;
while(k<m)
if(board[i][k]&#61;&#61;&#39;.&#39;) break;
st[i][k]&#61;true;
k&#43;&#43;;
k&#61;i;
while(k<n)
if(board[k][j]&#61;&#61;&#39;.&#39;) break;
st[k][j]&#61;true;
k&#43;&#43;;
return res;