当前位置: 首页 > news >正文

怎样做网站 - 百度人大常委会委员长

怎样做网站 - 百度,人大常委会委员长,厦门门户网站制作服务商,苏州做网站公司哪家比较好目录 1267. 统计参与通信的服务器 题目描述: 实现代码与解析: 写法一:两次遍历 hash 原理思路: 写法二:三次遍历 原理思路: 1267. 统计参与通信的服务器 题目描述: 这里有一幅服务器分…

目录

1267. 统计参与通信的服务器

题目描述:

实现代码与解析:

写法一:两次遍历 + hash

原理思路:

写法二:三次遍历

原理思路:


1267. 统计参与通信的服务器

题目描述:

        这里有一幅服务器分布图,服务器的位置标识在 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.length
  • n == grid[i].length
  • 1 <= m <= 250
  • 1 <= n <= 250
  • grid[i][j] == 0 or 1

实现代码与解析:

写法一:两次遍历 + hash

class Solution {
public:int countServers(vector<vector<int>>& grid) {unordered_map<int, int> row, col;  for (int i = 0; i < grid.size(); i++){for (int j = 0; j < grid[0].size(); j++){if (grid[i][j] == 1){row[i]++;col[j]++;}}}int res = 0;for (int i = 0; i < grid.size(); i++)for (int j = 0; j < grid[0].size(); j++)if (grid[i][j] == 1 && (row[i] > 1 || col[j] > 1)) res++;return res;}
};

原理思路:

        第一次遍历hash记录每一行每一列的有的1的个数。

        第二次遍历如果此位置有1,而且行或列有的服务器个数大于1,res++。

        返回结果。

写法二:三次遍历

class Solution {
public:int countServers(vector<vector<int>>& grid) {int res = 0;vector<bool> row(grid.size(), false);vector<bool> col(grid[0].size(), false);// 每行符合条件的for (int i = 0; i < grid.size(); i++){int count = 0;for (int j = 0; j < grid[0].size(); j++)if (grid[i][j] == 1) count++;if (count > 1){row[i] = true;res += count;}}// 每列符合条件的for (int i = 0; i < grid[0].size(); i++){int count = 0;for (int j = 0; j < grid.size(); j++)if (grid[j][i] == 1) count++;if (count > 1){col[i] = true;res += count;}}int repeat = 0; // 重复的for (int i = 0; i < grid.size(); i++)for (int j = 0; j < grid[0].size(); j++)if (row[i] && col[j] && grid[i][j] == 1) repeat++;return res - repeat;}
};

原理思路:

        不用hash的写法。

        第一次遍历行种符合条件的。

        第二次遍历列中符合条件的。

        第三次遍历重复计算的。

        返回结果减去重复计算。

http://www.dinnco.com/news/49888.html

相关文章:

  • 获取网站域名2022拉人头最暴利的app
  • 郑州外贸网站制作西安seo优化
  • 做电影网站需要服务器百度平台客服电话
  • 临沧网站搭建国际新闻最新
  • 重庆网站制作做网页设计一个月能挣多少
  • 最先进的无锡网站建设百度百家号官网
  • 做英文网站用什么源码高清视频线和音频线的接口类型
  • 网站标题乱码河南it渠道网
  • 网站建设技术交流自己如何做链接推广
  • 北京城乡建设网站在线生成个人网站
  • 免费微信小程序开发官网seo关键词排名优化官网
  • 宁波哪里做网站的各国足球世界排名
  • b2c网站举例我要下载百度
  • 建站网络公司网络营销推广的手段
  • 夏天做哪些网站能致富百度网盘登陆入口
  • html5网页制作案例长沙百度快照优化排名
  • 闵行区网站制作百度大全免费下载
  • 想要推广页正式宁波seo外包服务
  • 海口建设网站的公司百度seo官网
  • 做网站 做手机app要学什么软件网站收录查询
  • 滕州网站建设广告联盟下载app
  • 深圳网站建设培训班seo网站推广助理招聘
  • 网络哪个公司好西安百度推广优化公司
  • 云浮哪有做网站公司seo专员工作容易学吗
  • 网站平台设计 问题网站的优化公司
  • 易语言怎么做网页网站无忧seo博客
  • 如何选择专业网站开发商网络优化大师手机版
  • 怎样做营销型网站推广ppt成都网站优化seo
  • 新网站怎么做谷歌推广呢软文网站大全
  • 洛阳做网站推广深圳seo网站优化公司