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

题目描述:

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

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

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

示例:



解题思路:

统计每行服务器个数,大于1直接添加到总数,若为1,查询该列是否存在另外至多一台服务器,若有,总数加一,若无,不操作。

相关代码:

java 复制代码
class Solution {
    public int countServers(int[][] grid) {
        int count=0,sum=0;
        for(int i=0;i<grid.length;i++) {
            count=0;
            for(int j=0;j<grid[i].length;j++) {
                if(grid[i][j]!=0) {
                    count++;
                }
            }
            if(count==1) {
                for(int j=0;j<grid[i].length;j++) {
                    if(grid[i][j]!=0) {
                        for(int z=0;z<grid.length;z++) {
                            if(grid[z][j]==1&&z!=i) count++;
                        }
                        break;
                    }
                }
                if(count==1) count=0;
                else count=1;
            }
            if(count>0) {
                sum+=count;
            }
        }
        return sum;
    }
}

代码效率:

相关推荐
沪漂阿龙7 分钟前
程序员面试技术爆款文:2026大厂算法通关手册——从零基础到LeetCode刷穿,这一篇就够了
算法·leetcode·面试
三翼鸟数字化技术团队8 分钟前
基于Redis ZSet实现分布式优先级队列的技术实践
java·redis
无所事事O_o16 分钟前
加密过程及原理浅析
java·加密
05候补工程师20 分钟前
【408 从零到一】线性表逻辑特征、存储结构对比与 C/C++ 动态内存分配避坑指南
c语言·开发语言·数据结构·c++·考研
2301_7717172132 分钟前
最近在刷牛客:使用Spring AOP实现性能监控时
java·后端·spring
rit84324991 小时前
基于博弈论的小区分簇算法MATLAB实现
开发语言·算法·matlab
华清远见成都中心1 小时前
C 语言内存管理深度解析:malloc/free 与嵌入式堆栈分配策略
java·c语言·算法
一行代码一行诗++1 小时前
关系操作符
算法
YANZ2221 小时前
亚马逊绿标(CPF):从环保认证到跨境流量新引擎
java·大数据·人工智能·搜索引擎·百度
努力努力再努力wz1 小时前
【MySQL 进阶系列】拒绝滥用root:从 mysql.user 到权限校验,带你彻底理解用户管理与授权机制!
android·c语言·开发语言·数据结构·数据库·c++·mysql