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

无需本金十分钟赚800seo任务

无需本金十分钟赚800,seo任务,做网站需要哪些东西和步骤,WordPress设置评论通过原题 这里有一幅服务器分布图,服务器的位置标识在 m * n 的整数矩阵网格 grid 中,1 表示单元格上有服务器,0 表示没有。 如果两台服务器位于同一行或者同一列,我们就认为它们之间可以进行通信。 请你统计并返回能够与至少一台其…

原题

这里有一幅服务器分布图,服务器的位置标识在 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

来源:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

解题思路

我们把题目读懂之后,就会发现题目要求我们统计每行每列中1大于等于2个行列上1的个数。一个简单的解题方法就是统计每行每列中1的个数,然后遍历每个值是1的点,看看所在行列上1的个数是否大于等于2。于是我们得到官方题解的实现:

class Solution {
public:int countServers(vector<vector<int>>& grid) {int m = grid.size(), n = grid[0].size();unordered_map<int, int> rows, cols;for (int i = 0; i < m; ++i) {for (int j = 0; j < n; ++j) {if (grid[i][j] == 1) {++rows[i];++cols[j];}}}int ans = 0;for (int i = 0; i < m; ++i) {for (int j = 0; j < n; ++j) {if (grid[i][j] == 1 && (rows[i] > 1 || cols[j] > 1)) {++ans;}}}return ans;}
};作者:力扣官方题解
链接:https://leetcode.cn/problems/count-servers-that-communicate/solutions/101819/tong-ji-can-yu-tong-xin-de-fu-wu-qi-by-leetcode-so/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

优化题解

官方题解需要遍历两次全部的点,有没有优化的空间呢?其实我们遍历每行的时候,如果该行1的个数大于等于2,那么全都是符合结果的点。如果刚好等于1,那么需要后续判断这一列上1的点的个数是否大于等于2。因此我们可以先收集起来,最后判断,这样我们第二轮的时间复杂度可以降低到O(n)。基于这个思路,我们的优化版本:

class Solution {
public:int countServers(vector<vector<int>>& grid) {int m = grid.size();int n = grid[0].size();unordered_map<int, int> cols;int ans = 0,col = 0, rows=0;vector<int> srows;for(int i = 0; i < m;i++){rows=0;for(int j =0;j< n;j++){if(grid[i][j] == 1){++rows;++cols[j];col = j;}}if(rows >= 2){ans+=rows;}else if(rows == 1){srows.emplace_back(col);}}for(int &j:srows){if(cols[j]>=2){++ans;}}return ans;}
};

http://www.mmbaike.com/news/36289.html

相关文章:

  • 沈阳网站建设建设公司排名百度提交网址多久才会收录
  • 中国建设银行e路通网站网络推广公司收费标准
  • 视觉中国设计网站青岛网站
  • 推广网站wap端怎么做百度竞价点击价格公式
  • 东莞商城网站建设价格网页设计大作业
  • 机械加工网站色彩搭配营销型网站建设方案
  • 啦啦啦啦日本免费高清在线直播5网站优化公司推荐
  • 化工企业网站模板凡科建站怎么导出网页
  • 赚钱一天赚300到500平台seo引擎搜索网站关键词
  • 个人网站备案名和运营百度推广客户端mac版
  • 饿了吗外卖网站怎么做上海网站快速排名提升
  • 营销型网站规划步骤深圳关键词推广
  • 企业网站建设 论文金华网站建设
  • 武汉做营销型网站建设网站快速刷排名工具
  • 在百度上做个网站要多少钱seo兼职怎么收费
  • 世界建设企业网站百度的seo排名怎么刷
  • 企业网站招聘可以怎么做中国网络优化公司排名
  • 做开箱的网站怎么建立网站快捷方式
  • 新手有关网站建设需要看哪些书排名首页服务热线
  • 网站建设客服术语最近新闻摘抄50字
  • 网站首页置顶是怎么做百度公司招聘官网
  • 怎么做网站的移动端适配版创建网站平台
  • 做网站公司怎么样正规网站建设服务
  • 重庆网站建设制作设计长沙网络营销外包哪家好
  • 端午节网站怎么做业务推广平台
  • 旅游网站模块报价沈阳百度seo
  • 免费域名服务关键词优化策略
  • 海南响应式网站建设方案网站快速收录软件
  • 设计作品展示网站投广告哪个平台好
  • java .net做网站网站优化排名方案