当前位置: 首页 > article >正文

DeepSeek LeetCode 2508.添加边使所有节点度数都为偶数 public boolean isPossible(int n, List<List<Integer>> edges)

问题分析我们需要判断能否添加至多两条边不能添加重复边不能添加自环使得图中所有节点的度数都为偶数。---思路步骤1. 统计每个节点的当前度数遍历给出的边统计每个节点的度数。2. 找出度数为奇数的节点设奇数度节点的集合为 odd。因为总度数和是偶数所以 odd.size() 一定是偶数。可能的奇数节点数量0, 2, 4。· 如果 size 0已经满足条件返回 true。· 如果 size 4不可能通过至多两条边调整返回 false。3. 分类讨论情况 1size 2设两个奇度节点为 a 和 b。· 如果 a 与 b 之间没有边那么直接加一条边 (a,b) 即可返回 true。· 如果 a 与 b 之间已经有边我们不能重复加。这时需要在 a 和 b 之间引入一个公共节点 cc ≠ a,b添加 (a,c) 和 (b,c)。但要注意(a,c) 和 (b,c) 必须不存在原图中且 c 可以是除 a,b 外的任意节点。如果有这样的 c返回 true否则 false。情况 2size 4设四个奇度节点为 a,b,c,d。我们需要分成两对每对之间加一条边且这条边在原图中不存在。检查三种可能的配对· (a,b) 和 (c,d)· (a,c) 和 (b,d)· (a,d) 和 (b,c)如果其中一种配对的两条边都不在原始边中返回 true否则 false。---实现细节· 用 SetInteger[] 或 HashSet 存储每个节点的邻居方便快速判断边是否存在。· 注意节点编号从 1 到 n。---代码实现javaimport java.util.*;class Solution {public boolean isPossible(int n, ListListInteger edges) {// 记录每个节点的度数int[] degree new int[n 1];// 记录每个节点的邻居集合SetInteger[] graph new Set[n 1];for (int i 1; i n; i) {graph[i] new HashSet();}for (ListInteger edge : edges) {int u edge.get(0);int v edge.get(1);degree[u];degree[v];graph[u].add(v);graph[v].add(u);}// 收集奇度节点ListInteger oddNodes new ArrayList();for (int i 1; i n; i) {if (degree[i] % 2 1) {oddNodes.add(i);}}int m oddNodes.size();if (m 0) return true;if (m 4) return false;if (m 2) {int a oddNodes.get(0);int b oddNodes.get(1);// 如果 a 和 b 之间没有边直接加一条if (!graph[a].contains(b)) {return true;}// 否则找公共节点 cfor (int c 1; c n; c) {if (c ! a c ! b !graph[a].contains(c) !graph[b].contains(c)) {return true;}}return false;}if (m 4) {int a oddNodes.get(0);int b oddNodes.get(1);int c oddNodes.get(2);int d oddNodes.get(3);// 检查三种配对return (checkPair(graph, a, b) checkPair(graph, c, d))|| (checkPair(graph, a, c) checkPair(graph, b, d))|| (checkPair(graph, a, d) checkPair(graph, b, c));}return false;}private boolean checkPair(SetInteger[] graph, int x, int y) {return !graph[x].contains(y);}}

相关文章:

DeepSeek LeetCode 2508.添加边使所有节点度数都为偶数 public boolean isPossible(int n, List<List<Integer>> edges)

问题分析我们需要判断能否添加至多两条边(不能添加重复边,不能添加自环),使得图中所有节点的度数都为偶数。---思路步骤1. 统计每个节点的当前度数遍历给出的边,统计每个节点的度数。 2. 找出度数为奇数的节点设奇数度…...

30天无限续杯:JetBrains IDE评估重置神器全攻略

30天无限续杯:JetBrains IDE评估重置神器全攻略 【免费下载链接】ide-eval-resetter 项目地址: https://gitcode.com/gh_mirrors/id/ide-eval-resetter 你是否曾经在深夜coding时,突然被IDE弹出的"试用期已结束"提示打断思路&#xff…...

3分钟快速上手:Hanime1Plugin安卓插件打造纯净动画观影体验终极指南

3分钟快速上手:Hanime1Plugin安卓插件打造纯净动画观影体验终极指南 【免费下载链接】Hanime1Plugin Android插件(https://hanime1.me) (NSFW) 项目地址: https://gitcode.com/gh_mirrors/ha/Hanime1Plugin 你是否厌倦了动画观影时被各种广告弹窗打断&#x…...

被AI冲击的App,反成了Agent的命门

2026年最流行的一个判断:AI Agent要吃掉一切图形界面,对话即服务,App即将消亡。 这个判断的依据并非没有道理。Agent确实在接管"发现"和"调度"——用户不再需要主动打开某个App,而是告诉Agent"帮我订一…...

VSCode+GCC+OpenOCD:打造你的STM32专属OpenHarmony 3.1开发流水线

VSCodeGCCOpenOCD:构建STM32 OpenHarmony开发的高效流水线 在嵌入式开发领域,效率往往取决于工具链的整合程度。当OpenHarmony遇上STM32,如何摆脱传统IDE的束缚,打造一套现代化、可定制的开发环境?本文将带你从零搭建基…...

从SDF反标失败说起:为什么PBA模式的结果不能写进标准延迟文件?

从SDF反标失败看PBA与GBA的本质差异:芯片设计中的精度与效率博弈 当你在PrimeTime中完成了一次精细的PBA模式时序分析,确认设计满足所有时序约束后,尝试将结果导出为SDF文件用于后仿验证时,工具却报错或生成的SDF文件无法正确反映…...

猫抓Cat-Catch:浏览器资源嗅探神器,轻松下载网页视频和流媒体资源

猫抓Cat-Catch:浏览器资源嗅探神器,轻松下载网页视频和流媒体资源 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 你是否曾…...

母线槽核心部件解析 —— 高纯铜导体与绝缘层的技术价值

在低压配电系统中,母线槽凭借大电流传输能力、高安全性及长寿命特性,成为大型基建、工业厂房、商业建筑等场景的核心配电设备。 扬中金展电气深耕母线槽研发生产 16 年,以严苛的材质标准与精密工艺,打造高可靠母线槽产品&#xff…...

【职场】职场里,“被喜欢“和“被重用“是两件完全不同的事

职场里,"被喜欢"和"被重用"是两件完全不同的事我见过太多这样的人。 在公司里人缘极好,谁都说他靠谱,谁都愿意跟他合作。 开会时第一个帮人倒水,群里消息第一个回复,同事生日永远记得,…...

【求职】衡量你职场流通性的,从来不是你的能力

衡量你职场流通性的,从来不是你的能力先问你一个问题。 你上一次被猎头主动联系,是什么时候? 如果你需要认真回忆,那这篇文章,你需要认真读完。一、"流通性"是个被严重低估的职场变量 大多数人谈职业发展&am…...

【职场】为什么越努力的人,在职场死得越惨?

为什么越努力的人,在职场死得越惨? ——没有人告诉你,努力本身是一种暴露。一、先说一个你亲眼见过,但从没想明白的现象 你身边一定有这样的人: 工作最拼的那个,最后被裁了。 加班最多的那个,升…...

链路层协议

链路层协议要解决哪些问题。有哪些二层网络,其链路层协议是什么 链路层(数据链路层,OSI模型第二层)的主要功能是在物理层提供的物理连接基础上,提供可靠的数据传输服务。它负责将原始的物理连接转化为无差错、有逻辑结…...

终极IDE评估周期管理方案:开源ide-eval-resetter完整解析

终极IDE评估周期管理方案:开源ide-eval-resetter完整解析 【免费下载链接】ide-eval-resetter 项目地址: https://gitcode.com/gh_mirrors/id/ide-eval-resetter 在当今快节奏的开发环境中,JetBrains IDE系列产品凭借其卓越的代码智能和丰富的功…...

技术分享 | 彻底解决图片“躺平”问题:Java 后端强制校准图片方向

在日常开发中,你是否遇到过这样的情况:前端上传了一张手机拍摄的照片,预览时明明是正的,存入服务器后却莫名其妙地“躺平”了,或者逆时针旋转了 90 度?以下方案用于强制旋转图片这通常是因为 JPEG 图片的 E…...

手把手教你用Google Cloud语音API为Android App加个“耳朵”和“嘴巴”(附免费额度避坑指南)

实战指南:在Android应用中集成Google Cloud语音技术 想象一下,你的Android应用能够听懂用户说话,还能用自然流畅的语音回应——这不再是科幻电影里的场景。借助Google Cloud的语音API,即使是独立开发者也能快速为应用添加专业的语…...

会议记录差点搞砸,直到遇见这个“录音转文字”神器

上周三下午,我差点因为一场两小时的跨部门评审会被老板“请喝茶”。事情是这样的:作为产品经理,我负责主持一场涉及技术、运营、销售三方的季度复盘会。会上大家争论激烈,我一边控场一边记笔记,结果手忙脚乱——技术总…...

终极AMD Ryzen调试指南:5个场景掌握SMUDebugTool硬件调优

终极AMD Ryzen调试指南:5个场景掌握SMUDebugTool硬件调优 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https:/…...

销售易NeoAgent 2.0深度解析:从“业务语义本体“到“智能体矩阵“的技术架构

一、行业背景:CRM的AI进化分水岭2026年,企业面临获客成本飙升、销售周期拉长、客户需求日益挑剔的多重挑战。传统CRM依赖人工录入且缺乏智能分析能力,往往沦为滞后的记录工具。市场正在寻找能够主动思考、预判和执行的下一代CRM架构。销售易基…...

嵌入式异构多处理器评估板:从核心原理到工业应用实战

1. 项目概述:当“异构”不再是PPT上的概念在嵌入式开发领域,尤其是边缘计算、工业控制和智能物联网设备中,我们正面临一个越来越普遍的困境:单一架构的处理器越来越难以满足复杂且矛盾的系统需求。一方面,我们需要强大…...

安卓APP通过JNI调用ATSHA204A加密芯片实战指南

1. 项目概述与核心需求解析 在安卓应用开发领域,尤其是涉及物联网、金融支付、版权保护等高安全要求的场景,单纯依靠软件层面的加密算法已经不足以应对日益复杂的攻击手段。硬件加密芯片,如ATSHA204A,以其物理隔离、密钥不可读取等…...

剪映自动化终极指南:用Python代码解放你的视频创作时间

剪映自动化终极指南:用Python代码解放你的视频创作时间 【免费下载链接】JianYingApi Third Party JianYing Api. 第三方剪映Api 项目地址: https://gitcode.com/gh_mirrors/ji/JianYingApi 还在为重复的视频剪辑工作烦恼吗?每天花几个小时在剪映…...

爬虫实战复盘:山东政务噪声数据逆向爬取踩坑全记录

爬虫实战复盘:山东政务噪声数据逆向爬取踩坑全记录 前言 近期在做全国各省市环境噪声实时数据爬虫、清洗、入库标准化项目,已经稳定跑通北京(静态HTML)、天津(SM3国密签名接口)两大站点。今天攻坚山东省噪声…...

罗技鼠标宏完整实现方案:从Lua脚本到PUBG精准射击的进阶指南

罗技鼠标宏完整实现方案:从Lua脚本到PUBG精准射击的进阶指南 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 在竞技射击游戏《绝地求…...

如何提升区域科技创新服务效率与资源整合能力?

观点作者:科易网-国家科技成果转化(厦门)示范基地现状概述:区域科技创新服务的成效与短板 在数智化转型加速的背景下,区域科技创新服务体系正经历深刻变革。以数据为核心的生产要素重塑了创新生态,科技成果…...

Modon与Montage Hotels Resorts合作在埃及拉斯伊尔赫克马引入超豪华酒店品牌

Montage Ras El Hekma(拉斯伊尔赫克马蒙太奇酒店)将在该地中海景区推出首批对外开放销售的品牌住宅,也是该地区的首个Montage(蒙太奇)度假村 总部位于阿布扎比的Modon Holding与Montage Hotels & Resorts&#xf…...

XXMI启动器:6款热门二次元游戏模组一站式管理终极指南

XXMI启动器:6款热门二次元游戏模组一站式管理终极指南 【免费下载链接】XXMI-Launcher Modding platform for GI, HSR, WW and ZZZ 项目地址: https://gitcode.com/gh_mirrors/xx/XXMI-Launcher XXMI启动器是一款专为二次元游戏爱好者设计的开源模组管理平台…...

AD导出Gerber文件时,单位选英寸格式选2:5?一文讲透这些‘祖传’设置背后的原因

为什么PCB工程师至今仍在使用英寸和2:5格式导出Gerber文件? 在PCB设计领域,有一个看似奇怪却普遍存在的现象:即使全球绝大多数国家采用公制单位,工程师们在导出Gerber文件时却坚持使用英制单位(英寸)&#…...

避坑指南:在Codesys V3.5中用ST处理XML,我踩过的那些‘坑’

Codesys实战:ST语言处理XML文件的7个关键陷阱与解决方案 在工业自动化领域,XML作为数据交换的标准格式,其重要性不言而喻。然而,当我们在Codesys V3.5环境下使用ST语言处理XML文件时,往往会遇到一系列令人头疼的问题。…...

告别SU冲突!雷电模拟器9.0.20+新版Magisk Delta(狐狸面具)保姆级安装避坑指南

雷电模拟器9.0.20Magisk Delta深度适配指南:从冲突根源到完美兼容 当你在雷电模拟器9.0.20及以上版本尝试安装Magisk Delta(狐狸面具)时,是否遇到过Root权限反复失效、SU冲突提示不断弹出的困境?这背后隐藏着新版模拟器…...

别再被‘模糊’搞晕了!用Python模拟SAR距离模糊与方位模糊的直观对比(附代码)

用Python实战解析SAR成像中的距离模糊与方位模糊现象 当你第一次看到SAR图像上那些神秘的条纹和重影时,是否好奇这些"视觉噪音"从何而来?作为雷达成像领域的经典问题,距离模糊和方位模糊直接影响着图像质量。今天,我们不…...