长白山网站学做管理平台,网站seo优化技能,火车头wordpress4.9,互联网设计师工资一般多少目录链接#xff1a;
力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目#xff1a;
https://github.com/September26/java-algorithms 原题链接#xff1a;力扣#xff08;LeetCode#xff09;官网 - 全球极客挚爱的技术成长平台 描述#xff1a;
这里有一幅… 目录链接
力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目
https://github.com/September26/java-algorithms 原题链接力扣LeetCode官网 - 全球极客挚爱的技术成长平台 描述
这里有一幅服务器分布图服务器的位置标识在 m * n 的整数矩阵网格 grid 中1 表示单元格上有服务器0 表示没有。
如果两台服务器位于同一行或者同一列我们就认为它们之间可以进行通信。
请你统计并返回能够与至少一台其他服务器进行通信的服务器的数量。 示例 1 输入grid [[1,0],[0,1]]
输出0
解释没有一台服务器能与其他服务器进行通信。
示例 2 输入grid [[1,0],[1,1]]
输出3
解释所有这些服务器都至少可以与一台别的服务器进行通信。示例 3 输入grid [[1,1,0,0],[0,0,1,0],[0,0,1,0],[0,0,0,1]]
输出4
解释第一行的两台服务器互相通信第三列的两台服务器互相通信但右下角的服务器无法与其他服务器通信。提示
m grid.lengthn grid[i].length1 m 2501 n 250grid[i][j] 0 or 1 解题思路
* 解题思路
* 先跑一轮看一下那些行和列是有多个的。
* 然后跑第二轮找到那些可通讯的
代码
class Solution1267
{
public:int countServers(vectorvectorint grid){vectorint xLine(grid[0].size());vectorint yLine(grid.size());for (int y 0; y grid.size(); y){for (int x 0; x grid[y].size(); x){if (grid[y][x] 0){continue;}yLine[y];xLine[x];}}int num 0;for (int y 0; y grid.size(); y){for (int x 0; x grid[y].size(); x){if (grid[y][x] 0){continue;}if (yLine[y] 1){num;continue;}if (xLine[x] 1){num;}}}return num;}
};