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/10/15 4:03:42 阅读更多 →
构建现代响应式网站: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/10/8 5:39:31 阅读更多 →
Spring 事务 7 种传播行为

Spring 事务 7 种传播行为

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

2026/10/13 6:11:50 阅读更多 →

最新新闻

STM32读取多摩川TS5668N21绝对式编码器:RS485驱动实现

STM32读取多摩川TS5668N21绝对式编码器:RS485驱动实现

简介:这套针对STM32读取多摩川TS5668N21编码器的工程资料,适合嵌入式开发者、电机控制与工业自动化方向学习者使用。内容基于STM32F429平台,完整展示ADM485协议下UART收发配置、A/B/Z相脉冲捕获、位置增量与零位处理,以及Hall信号…

2026/10/16 3:47:08 阅读更多 →
OpenClaw实战:AI代理+长尾SEO自动化内容站月流量15000拆解

OpenClaw实战:AI代理+长尾SEO自动化内容站月流量15000拆解

如果有人告诉你,一个人靠AI代理加上长尾SEO,在不露脸、不投广告的情况下,把一个垂直内容站从0做到15000的月搜索流量,还拿到了每月2800美元左右的经常性收入,你大概率会先怀疑这是不是标题党。但站在我这几年的观察角度…

2026/10/16 3:47:08 阅读更多 →
STM32F103内部Flash参数存储方案:双扇区增量写入与断电保护

STM32F103内部Flash参数存储方案:双扇区增量写入与断电保护

简介:本资源是一份面向STM32F103初学者与嵌入式开发者的内部Flash读写实战示例,聚焦非易失性数据存储、固件升级和设备配置保存等典型应用场景,有效解决HAL库环境下Flash擦写流程不清晰、易出错、缺乏完整验证链路等实际问题。压缩包共72个文…

2026/10/16 3:47:08 阅读更多 →
STM32F103原生Flash参数存储:三区隔离+两阶段提交工业级方案

STM32F103原生Flash参数存储:三区隔离+两阶段提交工业级方案

简介:本资源是一份面向STM32F103初学者与嵌入式开发者的内部Flash读写实战示例工程,聚焦解决非易失数据存储、固件升级准备及配置参数持久化等典型应用难题。压缩包共72个文件,含29个.h头文件(定义寄存器映射与Flash操作接口&…

2026/10/16 3:47:08 阅读更多 →
STM32读取多摩川TS5668N21绝对值编码器实战解析

STM32读取多摩川TS5668N21绝对值编码器实战解析

简介:面向嵌入式开发者的编码器读取程序,针对多摩川TS5668N21型号编码器,结合意法半导体微控制器,解决工业现场位置检测和速度反馈的实时采集问题。资源包为RAR压缩格式,约4.79兆字节,共263个文件&#xff…

2026/10/16 3:47:08 阅读更多 →
从跨境汇款到秒级到账:分布式系统重构实战解析

从跨境汇款到秒级到账:分布式系统重构实战解析

做金融系统的朋友应该都清楚,“跨境汇款慢到怀疑人生”几乎成了行业默认的体验。一笔钱从中国汇到海外,运气好隔天到,运气不好三五天也没动静。我们今年接了一家大型商业银行的跨境汇款系统重构项目,目标很直接:把跨境…

2026/10/16 3:46:08 阅读更多 →

日新闻

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 0:00:05 阅读更多 →
信号与系统频域分析作业解题指南

信号与系统频域分析作业解题指南

1. 作业背景与核心要求解析信号与系统作为电子信息类专业的核心基础课,其作业设计往往直接关联课程的核心知识框架。2026年春季第六次作业的布置,通常对应着课程进展到频域分析的关键阶段。根据常规教学进度推测,本次作业可能涉及以下核心内容…

2026/10/16 0:00:05 阅读更多 →
Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

1. 从一个"四不像"的练手项目说起如果你已经看完了Django的官方教程前几章,跟着敲完了投票应用,大概会有一种"我好像会了,又好像什么都不会"的割裂感。教程里每个知识点都是拆开的——这一章讲模型,下一章讲视…

2026/10/16 0:00:05 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/15 16:18:54 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/15 19:41:51 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/15 13:48:15 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 9:49:14 阅读更多 →