2026-07-28:统计每个顶点的度。用go语言,给你一个 n x n 的二维整数数组,它代表一个无向图的邻接矩阵,包含 n 个编号从 0 到 n-1 的顶点。 矩阵中的值表示两个顶点之间是否有边:
2026-07-28统计每个顶点的度。用go语言给你一个 n x n 的二维整数数组它代表一个无向图的邻接矩阵包含 n 个编号从 0 到 n-1 的顶点。矩阵中的值表示两个顶点之间是否有边1 表示相连0 表示不相连。一个顶点的度是指和它相连的边的总数。请你计算并返回一个长度为 n 的数组其中第 i 个位置存放顶点 i 的度数。1 n matrix.length matrix[i].length 100。matrix[i][i] 0。matrix[i][j] 仅为 0 或 1。matrix[i][j] matrix[j][i]。输入 matrix [[0,1,1],[1,0,1],[1,1,0]]。输出 [2,2,2]。解释顶点 0 与顶点 1 和 2 相连因此其度为 2。顶点 1 与顶点 0 和 2 相连因此其度为 2。顶点 2 与顶点 0 和 1 相连因此其度为 2。因此答案为 [2, 2, 2]。题目来自力扣3898。第一步理解输入结构输入是一个n x n的二维整数数组matrix代表一个无向图的邻接矩阵。题目保证了以下几点矩阵是方阵即len(matrix)等于len(matrix[i])。对角线元素matrix[i][i]都为 0表示没有自环。矩阵是对称的即matrix[i][j] matrix[j][i]满足无向图的性质。每个元素只能是 0 或 11 表示顶点 i 和 j 之间有一条边0 表示没有边。第二步确定任务目标我们要返回一个长度为n的数组ans其中ans[i]是顶点i的度数。度数的定义是与该顶点直接相连的边的条数。因为是无向图一条边连接两个顶点在度数统计中会被两个端点各自计数一次。第三步初始化结果数组函数findDegrees接收矩阵后首先用make([]int, len(matrix))创建一个与顶点数量相同长度的整数切片ans此时所有元素默认值为 0。这个切片将用来累加每个顶点的边数。第四步按行遍历累加度数代码的外层循环使用for i, row : range matrix遍历矩阵的每一行变量i是当前顶点编号取值从 0 到 n-1。变量row是第i行的整行数据它也是一个切片长度等于 n。对于每一行row内层循环用for _, x : range row遍历该行的每一个元素x由于矩阵只包含 0 和 1x的值要么是 0无边要么是 1有边。直接将x加到ans[i]上ans[i] x。这样对于顶点i会把它所在的整行即顶点 i 与其他所有顶点 j 的连接情况上的 1 全部累加。因为矩阵是对称的这一行有多少个 1就代表顶点 i 与多少个其他顶点相连也就是顶点 i 的度数。第五步返回结果当外层循环结束所有顶点的度数都已累加完毕函数直接返回填充好的ans切片。第六步主函数调用与输出在main函数中定义了一个 3x3 的示例矩阵对应一个三角形无向图每个顶点都与另外两个相连然后调用findDegrees得到结果[2, 2, 2]最后打印出来。复杂度分析时间复杂度外层循环执行 n 次内层循环对每行同样执行 n 次总共访问矩阵的每一个元素恰好一次。对每个元素只做一次累加操作常数时间。所以总的时间复杂度是 O(n²)。额外空间复杂度除了输入矩阵本身占用的空间不计入额外空间算法只创建了一个长度为 n 的结果数组ans。没有使用其他与 n 相关的辅助数据结构。因此总的额外空间复杂度是 O(n)。总结该算法通过遍历邻接矩阵的每一行累加每行的值来得到每个顶点的度数过程简单直接时间复杂度 O(n²)额外空间复杂度 O(n)。Go完整代码如下packagemainimport(fmt)funcfindDegrees(matrix[][]int)[]int{ans:make([]int,len(matrix))fori,row:rangematrix{for_,x:rangerow{ans[i]x}}returnans}funcmain(){matrix:[][]int{{0,1,1},{1,0,1},{1,1,0}}result:findDegrees(matrix)fmt.Println(result)}Python完整代码如下# -*-coding:utf-8-*-fromtypingimportListdeffind_degrees(matrix:List[List[int]])-List[int]:ans[0]*len(matrix)fori,rowinenumerate(matrix):ans[i]sum(row)returnansif__name____main__:matrix[[0,1,1],[1,0,1],[1,1,0]]resultfind_degrees(matrix)print(result)C完整代码如下#includeiostream#includevectorstd::vectorintfindDegrees(conststd::vectorstd::vectorintmatrix){std::vectorintans(matrix.size(),0);for(size_t i0;imatrix.size();i){for(intx:matrix[i]){ans[i]x;}}returnans;}intmain(){std::vectorstd::vectorintmatrix{{0,1,1},{1,0,1},{1,1,0}};std::vectorintresultfindDegrees(matrix);std::cout[;for(size_t i0;iresult.size();i){std::coutresult[i];if(i!result.size()-1)std::cout, ;}std::cout]std::endl;return0;}

相关新闻

树莓派CM4边缘计算盒子OpenCV部署实战:从编译优化到AI模型推理

树莓派CM4边缘计算盒子OpenCV部署实战:从编译优化到AI模型推理

1. 项目概述:当边缘计算盒子遇上计算机视觉最近在折腾一个挺有意思的小玩意儿——PiTray mini。这名字听起来可能有点陌生,简单说,它是一个基于树莓派CM4核心的、高度集成化的边缘计算盒子。我之前已经用它跑过一些基础服务,比如轻…

2026/7/28 2:58:43 阅读更多 →
构建现代响应式网站:Bootstrap框架的工程化实践方案

构建现代响应式网站:Bootstrap框架的工程化实践方案

构建现代响应式网站:Bootstrap框架的工程化实践方案 【免费下载链接】bootstrap The most popular HTML, CSS, and JavaScript framework for developing responsive, mobile first projects on the web. 项目地址: https://gitcode.com/GitHub_Trending/bo/boots…

2026/7/28 2:58:43 阅读更多 →
Spring 事务 7 种传播行为

Spring 事务 7 种传播行为

一、基础概念事务传播行为:多个事务方法互相调用时,事务如何传递、创建、复用的规则 当方法 A 调用方法 B,A、B 都带有Transactional,传播行为决定 B 是沿用 A 的事务、新建事务、还是不使用事务。核心入口:Transactio…

2026/7/28 2:58:43 阅读更多 →

最新新闻

TPIC7710EVM评估板:汽车电子ASIC硬件验证与电机驱动系统集成指南

TPIC7710EVM评估板:汽车电子ASIC硬件验证与电机驱动系统集成指南

1. 项目概述:从芯片到系统,EVM如何成为工程师的“加速器”在嵌入式系统,尤其是汽车电子这类高可靠性、高复杂度的领域,工程师拿到一颗全新的专用集成电路(ASIC)时,面临的第一个挑战往往不是编程…

2026/7/28 3:14:51 阅读更多 →
VMware虚拟机启用Windows 7 Aero特效完整指南:从原理到实战排查

VMware虚拟机启用Windows 7 Aero特效完整指南:从原理到实战排查

在 VMware Workstation 里给 Windows 7 虚拟机启用 Aero 特效,看起来是个简单的“打勾”操作,但实际跑起来,十有八九会遇到“已启用 3D 加速,但 Aero 不可用”的尴尬。这问题在 Windows Vista 和 Windows 7 的虚拟机里特别常见&am…

2026/7/28 3:14:51 阅读更多 →
手机速度突然变慢---------原来只是因为手机发热

手机速度突然变慢---------原来只是因为手机发热

15:32:17.624 D collect:rect(661,1110,663,1112) 15:32:17.625 D 耗时:790 15:32:17.903 D remark count :2 15:32:18.024 D sendEmptyMessage2self 15:32:19.079 D 关注:rect(663,792,665,794) 15:32:19.080 D 识别关注花费时间:169 15:32…

2026/7/28 3:14:51 阅读更多 →
魔曰加密工具终极指南:3步实现古文风文本安全防护

魔曰加密工具终极指南:3步实现古文风文本安全防护

魔曰加密工具终极指南:3步实现古文风文本安全防护 【免费下载链接】Abracadabra Abracadabra 魔曰,古文风文本加密工具 项目地址: https://gitcode.com/gh_mirrors/abra/Abracadabra 魔曰(Abracadabra) 是一款革命性的开源…

2026/7/28 3:14:51 阅读更多 →
图卷积网络实战:从理论到TensorFlow实现深度解析

图卷积网络实战:从理论到TensorFlow实现深度解析

图卷积网络实战:从理论到TensorFlow实现深度解析 【免费下载链接】gcn Implementation of Graph Convolutional Networks in TensorFlow 项目地址: https://gitcode.com/gh_mirrors/gc/gcn 图卷积网络(GCN)作为图神经网络领域的里程碑…

2026/7/28 3:14:51 阅读更多 →
SpringBoot+Vue构建高并发体检预约系统实战

SpringBoot+Vue构建高并发体检预约系统实战

1. 项目背景与核心需求仁和机构体检预约系统是一个典型的医疗健康领域信息化解决方案,旨在解决传统体检预约中存在的排队时间长、资源调配不合理、信息不对称等问题。这个基于SpringBootVue技术栈的系统,实际上要处理的是医疗机构、体检用户、科室资源三…

2026/7/28 3:13:50 阅读更多 →

日新闻

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否也曾为官方Om…

2026/7/28 0:00:43 阅读更多 →
RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

做 RAG 的人应该都踩过这个致命的坑:把几百页的财报、法规、技术手册扔给向量库,问一个具体问题,搜出来的全是沾边但没用的内容 —— 关键信息要么被硬切块拆碎了,要么藏在几十条结果的最下面。语义相似≠真正相关,这个…

2026/7/28 0:00:43 阅读更多 →
抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

2026年做短视频运营,从抖音上扒文案早就不是偷偷抄笔记的事了。我刚开始做内容的时候,每天刷半小时抖音,手动把爆款视频的口播敲进备忘录,一条2分钟的视频得花十来分钟,碰到语速快的还要反复回听。后来试了一圈工具&am…

2026/7/28 0:00:43 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/27 4:33:59 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/27 6:31:56 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/27 4:01:12 阅读更多 →

月新闻