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;
    }
}

代码效率:

相关推荐
炽烈小老头1 分钟前
【每天学习一点算法 2025/12/22】将有序数组转换为二叉搜索树
学习·算法
ZePingPingZe4 分钟前
秒杀-库存超卖&流量削峰
java·分布式
horizon72749 分钟前
【Redis】Redis 分片集群搭建与故障转移实战指南
java·redis
想学后端的前端工程师9 分钟前
【Java设计模式实战应用指南:23种设计模式详解】
java·开发语言·设计模式
呱呱巨基10 分钟前
Linux 进程控制
linux·c++·笔记·学习
jghhh0113 分钟前
POCS(凸集投影)算法解决部分k空间数据缺失导致吉布斯伪影
算法
小白勇闯网安圈17 分钟前
Java的集合
java·开发语言
罗湖老棍子19 分钟前
最小函数值(minval)(信息学奥赛一本通- P1370)
数据结构·c++·算法··优先队列·
大学生资源网20 分钟前
基于springboot的乡村信息化管理系统的研究与实现(源码+文档)
java·spring boot·后端
LYFlied20 分钟前
【每日算法】LeetCode 4. 寻找两个正序数组的中位数
算法·leetcode·面试·职场和发展