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

代码效率:

相关推荐
计算机安禾2 分钟前
【数据结构与算法】第33篇:交换排序(二):快速排序
c语言·开发语言·数据结构·数据库·算法·矩阵·排序算法
William Dawson3 分钟前
Java 后端高频 20 题超详细解析 ①
java·开发语言
嵌入式×边缘AI:打怪升级日志4 分钟前
Linux 常用命令学习笔记(续):查找、压缩、vi 编辑器与其他命令
linux·笔记·学习
沙雕不是雕又菜又爱玩6 分钟前
leetcode第12、13、14、15题(C++)
c++·算法·leetcode
编程之升级打怪11 分钟前
Java NIO的简单封装
java·开发语言·nio
wuxinyan12311 分钟前
Java面试题46:一文深入了解JVM 核心知识体系
java·jvm·面试题
汀、人工智能12 分钟前
[特殊字符] 第50课:最大路径和
数据结构·算法·数据库架构·图论·bfs·最大路径和
小江的记录本14 分钟前
【JEECG Boot】 《JEECG Boot 数据字典使用教程》(完整版)
java·前端·数据库·spring boot·后端·spring·mybatis
啦啦啦!15 分钟前
项目环境的搭建,项目的初步使用和deepseek的初步认识
开发语言·c++·人工智能·算法
AI成长日志15 分钟前
【笔面试算法学习专栏】链表操作·基础三题精讲(206.反转链表、141.环形链表、21.合并两个有序链表)
学习·算法·面试