尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Kimi    LeetCode 3910. 统计节点和为偶数的连通子图 Java实现
这是 LeetCode 3910 的 Java 实现题目要求统计节点和为偶数的连通诱导子图数量。思路由于 n \le 13可以枚举所有非空子集最多 2^{13}-1 8191 个对每个子集1. 计算节点值之和若为奇数则跳过2. 用 DFS/BFS 检查诱导子图是否连通使用位掩码表示子集高效判断连通性。javaimport java.util.*;class Solution {private ListInteger[] g;private int vis;private int m;public int evenSumSubgraphs(int[] nums, int[][] edges) {int n nums.length;// 建图g new List[n];Arrays.setAll(g, k - new ArrayList());for (int[] e : edges) {g[e[0]].add(e[1]);g[e[1]].add(e[0]);}m (1 n) - 1; // 全1掩码表示所有节点都在已访问状态int ans 0;// 枚举所有非空子集 sub (1 ~ 2^n - 1)for (int sub 1; sub m; sub) {// 1. 计算子集节点值之和int sum 0;for (int i 0; i n; i) {if (((sub i) 1) 1) {sum nums[i];}}// 和为奇数跳过if (sum % 2 ! 0) {continue;}// 2. 检查诱导子图是否连通// vis: 已访问标记。初始时不在子集中的节点视为已访问m ^ sub// 这样DFS只会在子集内的节点中传播vis m ^ sub;// 从子集中任意一个节点开始DFS取最高位的1int start Integer.numberOfTrailingZeros(sub);dfs(start);// 如果所有位都是1说明子集内所有节点都被访问到即连通if (vis m) {ans;}}return ans;}private void dfs(int u) {vis | (1 u); // 标记u为已访问for (int v : g[u]) {// 如果v未被访问在子集中且未访问if (((vis v) 1) 0) {dfs(v);}}}}关键点解释要点 说明m (1 n) - 1 n位全1掩码sub 枚举 从 1 到 2^n-1每个整数代表一个子集sum % 2 ! 0 快速排除奇数和子集vis m ^ sub 异或不在子集中的位设为1视为已访问子集中的位为0待访问Integer.numberOfTrailingZeros(sub) 找到子集中最低位的1的位置作为DFS起点vis m DFS结束后所有位都为1说明子集中所有节点连通复杂度- 时间复杂度O(2^n \times (n m))其中 m 为边数- 空间复杂度O(n m)
RELATED

相关推荐

人生代码 | 第4关:输入要节制 -- 节奏失控,努力白忙

人生代码 | 第4关:输入要节制 -- 节奏失控,努力白忙

| 本篇属于第一篇输入篇|核心命题:筛选入参第3关我们学会了主动获取高质量"好工具",让系统变强大。但再强大的系统,如果调用工具不加节制,结果也只有一个——崩溃。第4关,我们来解决输入管理的最…

📅 2026/10/7 12:45:45
深入骨髓!50行代码拆解LLM Harness工程:如何用“赛马机制”根治幻觉

深入骨髓!50行代码拆解LLM Harness工程:如何用“赛马机制”根治幻觉

别把Harness当成简单的“调三次API取平均”。这50行代码里,藏着并发锁、隐式容错、评分注入防御和流量控制。读懂它,你就算摸到了AI工程化的入门门槛。很多同学跑过这段代码后,觉得不过如此:“哦,就是并发生成三个结果…

📅 2026/8/31 20:44:12
iOS ATT框架深度解析:从IDFA权限管理到SKAdNetwork归因实战

iOS ATT框架深度解析:从IDFA权限管理到SKAdNetwork归因实战

1. 从ATT弹窗说起:一个改变iOS生态的“小”权限如果你在2021年之后开发或更新过iOS应用,并且应用里集成了任何形式的广告或数据分析SDK,那你一定绕不开一个东西:AppTrackingTransparency,简称ATT框架。这个看似只是一个…

📅 2026/9/2 12:10:53
MORE NEWS

更多资讯

📰

学生信息管理系统实战:Servlet+JSP+MySQL课程设计源码解析

简介:面向Java初/中级学习者及需要完成期末大作业、课程设计的学生,提供一套基于JavaServletJSPBootstrapMysql的学生信息管理系统源码与说明。项目经过本地编译验证,评审分98分,难度适中,内容经助教审定,适…

📰

AI Agent工程化与编程工具实战:从API调用到多Agent协作

今天打开各家AI资讯站,信息流里几乎全是Agent和编程工具的身影。3月19日这波全球AI技术资讯,密度比平时高不少,而且和过去“发个模型、放个demo”不同,现在的讨论更多集中在工程落地和实际产出上。我花了大半天把碎片信息按主题拆…

📰

会议预约屏哪个品牌性价比高?2026年选型避坑指南

会议预约屏哪个品牌性价比高?结论先行:会议预约屏的性价比不能只看采购单价,关键看“全尺寸功能不缩水 离线稳定运行 远程运维省人工”。综合16年商显制造经验与10000企业服务案例,蓝速科技(larxu)会议预…

📰

Flutter for OpenHarmony商城订单详情页开发实践与踩坑记录

聊订单详情页之前,先想清楚一件事:这页面的难度不在UI,而在数据状态和跨端适配。Flutter for OpenHarmony 商城App的订单详情,是我在团队里花最多时间打磨的一页,不是因为它复杂到写不动,而是因为Flutter社…

📰

Unity3D旋转地球从零搭建:贴图、材质、灯光与旋转脚本避坑详解

Unity3D里搓一个旋转的地球,听起来确实是个入门级练手项目:新建场景、拖个球体、贴一张世界地图、写几行旋转脚本,好像十分钟就能交差。但如果你真的照着这个流程跑一遍,十有八九会卡在半路——球是黑的、贴图是紫的、或者按了Pla…

📰

NE555单稳态电路从原理到实战:T=1.1RC公式推导与经典应用

我第一次用NE555搭单稳态电路,是大二电子线路课设那会儿,天天对着面包板上一堆跳线发愁。工作以后回头看,这个1972年就诞生的老芯片,反而成了我抽屉里最常用的“万能零件”。不管是做延时灯、脉冲整形、按键消抖,还是给…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬