地址 https://leetcode-cn.com/problems/count-servers-that-communicate/

题目描述
这里有一幅服务器分布图,服务器的位置标识在 m * n 的整数矩阵网格 grid 中,1 表示单元格上有服务器,0 表示没有。

如果两台服务器位于同一行或者同一列,我们就认为它们之间可以进行通信。

请你统计并返回能够与至少一台其他服务器进行通信的服务器的数量。

样例1

输入:grid = [[,],[,]]
输出:
解释:没有一台服务器能与其他服务器进行通信。

样例2

输入:grid = [[,],[,]]
输出:
解释:所有这些服务器都至少可以与一台别的服务器进行通信。

样例3

输入:grid = [[,,,],[,,,],[,,,],[,,,]]
输出:
解释:第一行的两台服务器互相通信,第三列的两台服务器互相通信,但右下角的服务器无法与其他服务器通信。
提示: m == grid.length
n == grid[i].length
<= m <=
<= n <=
grid[i][j] == or

算法1
单独计算同行 同列的元素计数 大于等于2 则算作可互相通讯

class Solution {
public: set<vector<int>> resultSet;
int countServers(vector<vector<int>>& grid) {
for (int i = ; i < grid.size(); i++) {
int firstx = -; int firsty = -;
for (int j = ; j < grid[].size(); j++) {
if (grid[i][j] == ) {
if (firstx == -) {
firstx = i; firsty = j;
}
else {
vector<int>v1{ firstx, firsty };
resultSet.insert(v1);
vector<int>v2{ i, j };
resultSet.insert(v2);
}
}
}
} for (int y = ; y < grid[].size(); y++) {
int firstx = -; int firsty = -;
for (int x = ; x < grid.size(); x++) {
if (grid[x][y] == ) {
if (firstx == -) {
firstx = x; firsty = y;
}
else {
vector<int>v1{ firstx, firsty };
resultSet.insert(v1);
vector<int>v2{ x, y };
resultSet.insert(v2); }
}
}
} return resultSet.size();
} };

LeetCode 5272. 5272. 统计参与通信的服务器 Count Servers that Communicate的更多相关文章

  1. leetcode-164周赛-1267-统计参与通信的服务器

    题目描述: 自己的提交: class Solution: def countServers(self, grid: List[List[int]]) -> int: from collectio ...

  2. 【LeetCode】1399. 统计最大组的数目 Count Largest Group

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 直接求 日期 题目地址:https://leetcod ...

  3. leetcode 1267. Count Servers that Communicate

    You are given a map of a server center, represented as a m * n integer matrix grid, where 1 means th ...

  4. 【leetcode】1267. Count Servers that Communicate

    题目如下: You are given a map of a server center, represented as a m * n integer matrix grid, where 1 me ...

  5. TCP通信的客户端代码实现和TCP通信的服务器代码实现

    TCP通信的客户端代码实现 package com.yang.Test.ServerStudy; import java.io.*; import java.net.Socket; /** * TCP ...

  6. (转载)MySQL 统计数据行数 Select Count

    (转载)http://www.5idev.com/p-php_mysql_select_count.shtml 统计数据行数 SELECT COUNT() FROM 语法用于从数据表中统计数据行数. ...

  7. JAVA基础知识之网络编程——-TCP/IP协议,socket通信,服务器客户端通信demo

    OSI模型分层 OSI模型是指国际标准化组织(ISO)提出的开放系统互连参考模型(Open System Interconnection Reference Model,OSI/RM),它将网络分为七 ...

  8. udp 双机通信(服务器循环检测)2

    此文摘自:http://blog.csdn.net/qinpeng100423/article/details/8980423,谢谢了 自己上一篇写的udp通信,只能运行一次,参考了这位博主的,只是把 ...

  9. leetcode 191:统计1的个数;5 最长回文串;54,59 蛇形矩阵

    class Solution { public: int hammingWeight(uint32_t n) { ; //统计次数 ){ n &= (n-); //每次消掉一个1 k++; / ...

随机推荐

  1. 3、Struts2的API访问和数据封装

    一.API的访问 在使用Struts2的框架的过程中,发现Struts2和Servlet的API是解耦合的.在实际开发中,经常使用到Servlet的API,比如进行登录,将用户的信息保存到Sessio ...

  2. rem1

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name ...

  3. dom 创建时间

    下面讲述如何在页面生成一个装有日期的盒子 首先写出一个日期的函数进行赋值使用document.createElement创建一个文档节点div,然后将时间函数输出在div之中,利用document.b ...

  4. css条件Hack属性

    <!--[if IE]> <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...

  5. java 项目时间和服务器时间不一致

    今天线上项目关于时间的几个任务都出了问题,查看日志发现日志的时间不对,用的是log4j,日志输出的时间都早了很长时间. 1 首先先登上服务器查看了服务器的系统时间 linux下 date命令 时间正确 ...

  6. 在虚拟机上的关于FTP FTP访问模式(虚拟用户模式)

    首先你要有vsftpd服务 可以先去yum中下载(当然你要有本地yum仓库) 输入命令: yum  install  vsftpd 下载完成之后打开vsftpd服务 输入命令:systemctl   ...

  7. 在VMware下的Linux中的RAID10校验位算法下的磁盘管理

    988年由加利福尼亚大学伯克利分校发表的文章首次提到并定义了RAID,当今CPU性能每年可提升30%-50%但硬盘仅提升7%,渐渐的已经成为计算机整体性能的瓶颈,并且为了避免硬盘的突然损坏导致数据丢失 ...

  8. MySQL如何进行索引重建操作?

    在MySQL数据库中,没有类似于SQL Server数据库或Oracle数据库中索引重建的语法(ALTER INDEX ... REBUILD),那么在MySQL数据库中,是否有什么方式重建索引呢? ...

  9. 清华大学教学内核ucore学习系列(1) bootloader

    ucore是清华大学操作系统课程的实验内核,也是一个开源项目,是不可多得的非常好的操作系统学习资源 https://github.com/chyyuu/ucore_lab.git, 各位同学可以使用g ...

  10. STL库学习笔记(一)——什么是STL?

    小明是一个很牛逼的程序员,在国际标准化组织工作. 他现在正在设计新一代的C++标准,标准中有一个待实现的函数:findMax(),这个函数要求使用者输入任何类型的数据,他都能找到最大的一个. 于是他想 ...