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

048路径总和III

路径总和 III题目链接https://leetcode.cn/problems/path-sum-iii/description/?envTypestudy-plan-v2envIdtop-100-liked我的解答MapLong,Integer map new HashMap();//key:前缀和 value前缀和的个数 public int pathSum(TreeNode root, int targetSum) { map.put(0L,1); return helper(root, 0, targetSum); } public int helper(TreeNode cur, long preSum, int targetSum){ if(cur null){ return 0; } preSum cur.val;//计算到当前节点的前缀和 long target preSum - targetSum; int ans map.getOrDefault(target,0); map.put(preSum, map.getOrDefault(preSum,0) 1); ans ( helper(cur.left, preSum, targetSum) helper(cur.right, preSum, targetSum) ); map.put(preSum, map.getOrDefault(preSum,0) - 1); return ans; }分析代码的时间复杂度为O(n)空间复杂度为O(n)。解题思路采用前缀和利用哈希表记录前缀和及其个数。解题思路简单但需注意此题的数值范围较大前缀和用int类型会溢出。看了官方题解后的解答//方法一深度优先搜索 //时间复杂度O(n^2) //空间复杂度O(n) public int pathSum(TreeNode root, long targetSum) { if(root null){ return 0; } int ans curSum(root, targetSum); ans pathSum(root.left, targetSum) pathSum(root.right, targetSum); return ans; } public int curSum(TreeNode cur, long targetSum){ if(cur null){ return 0; } int res curSum(cur.left, targetSum-cur.val) curSum(cur.right, targetSum-cur.val); if(cur.val targetSum){ res; } return res; } //方法二前缀和与我的解答思路一致 //时间复杂度O(n) //空间复杂度O(n) public int pathSum(TreeNode root, int targetSum) { MapLong, Integer prefix new HashMapLong, Integer(); prefix.put(0L, 1); return dfs(root, prefix, 0, targetSum); } public int dfs(TreeNode root, MapLong, Integer prefix, long curr, int targetSum) { if (root null) { return 0; } int ret 0; curr root.val; ret prefix.getOrDefault(curr - targetSum, 0); prefix.put(curr, prefix.getOrDefault(curr, 0) 1); ret dfs(root.left, prefix, curr, targetSum); ret dfs(root.right, prefix, curr, targetSum); prefix.put(curr, prefix.getOrDefault(curr, 0) - 1); return ret; }分析​ 1、方法一的解题思路以每个节点作为起点进行一次深搜来统计答案。​ 2、方法二的解题思路与我的解答一致只是实现上略有差异。总结本题的本质就是两数之和问题只是数值较大需注意数据溢出问题。

相关文章:

048路径总和III

路径总和 III 题目链接&#xff1a;https://leetcode.cn/problems/path-sum-iii/description/?envTypestudy-plan-v2&envIdtop-100-liked 我的解答&#xff1a; Map<Long,Integer> map new HashMap<>();//key:前缀和 value&#xff1a;前缀和的个数 publ…...

S32K3开发避坑:用EB tresos给GPT定时器(PIT)配时钟,实测24MHz APIS_SLOW_CLK怎么设

S32K3开发实战&#xff1a;EB tresos中GPT定时器时钟配置深度解析 引言 在嵌入式系统开发中&#xff0c;精确的定时器配置往往是项目成功的关键因素之一。对于使用NXP S32K3系列MCU的开发者而言&#xff0c;EB tresos工具链提供了强大的MCAL配置能力&#xff0c;但同时也带来了…...

S32G2汽车网关实战(四):IPCF核间通信机制深度解析与应用

1. IPCF核间通信机制基础解析 在S32G2这样的多核异构SoC中&#xff0c;不同处理器核心之间的高效通信是系统设计的关键。IPCF&#xff08;Inter-Processor Communication Framework&#xff09;作为恩智浦提供的核间通信解决方案&#xff0c;其核心思想是通过共享内存中断触发的…...

深度测评2026广州个体户核定流程精选榜单,革新个体工商户税务办理新变革

在数字经济浪潮席卷之下&#xff0c;个体工商户税务办理正面临前所未有的变革压力与机遇窗口。2026年的广州&#xff0c;作为电商与直播产业的高地&#xff0c;其个体户核定流程的效率与合规性&#xff0c;已成为衡量区域营商环境的试金石。然而&#xff0c;一个深层的价值悖论…...

地平线X3M平台sensor点亮故障排查实战指南

1. 地平线X3M平台sensor点亮常见问题概述 第一次接触地平线X3M平台的开发者&#xff0c;在点亮sensor时经常会遇到各种"拦路虎"。我刚开始接触这个平台时&#xff0c;光是调试一个imx415 sensor就花了整整三天时间。现在回想起来&#xff0c;大部分问题其实都有规律可…...

新手如何通过Taotoken控制台快速创建并管理自己的API Key

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 新手如何通过Taotoken控制台快速创建并管理自己的API Key 对于初次接触大模型服务的开发者而言&#xff0c;如何安全、便捷地获取和…...

3分钟解锁CAJ文件:如何将知网专属格式转换为可搜索PDF

3分钟解锁CAJ文件&#xff1a;如何将知网专属格式转换为可搜索PDF 【免费下载链接】caj2pdf Convert CAJ (China Academic Journals) files to PDF. 转换中国知网 CAJ 格式文献为 PDF。佛系转换&#xff0c;成功与否&#xff0c;皆是玄学。 项目地址: https://gitcode.com/gh…...

分析梳理--分子动力学模拟的常规步骤八(Gromacs)

作者,Evil Genius 每一个组学内容都很多啊,都需要花费大量的时间学习,学习的最好阶段就是学生阶段,你的导师就是你的伯乐,像我这种社会底层人员,纯纯没事干,学了有没有用真的不知道。 这一篇我们继续分子动力学,上一步我们处理配体分子得到符合Gromacs的出入文件 这里…...

089、机器人动力学:拉格朗日法

机器人动力学:拉格朗日法 从一次机械臂抖动说起 去年调试一台六轴协作机器人,末端负载从0.5kg换到2kg,位置环PID参数调了三轮,静态精度勉强达标。一跑轨迹,末端抖得像筛糠。同事说“加个低通滤波”,我试了,抖动小了,但轨迹跟踪滞后明显。后来翻出动力学模型,用拉格朗…...

088、机器人动力学:牛顿-欧拉法

机器人动力学:牛顿-欧拉法 从一次机械臂抖动说起 去年调试一台六轴协作机器人,空载运行还算平稳,一夹持3kg负载做高速圆弧插补,末端就开始高频抖动。PID参数调了三轮,陷波滤波器加了两个,效果都不理想。后来拆开关节看,发现电机电流波形在加减速阶段有明显的毛刺——这…...

087、机器人运动学:雅可比矩阵

087、机器人运动学:雅可比矩阵 一、一个让我熬夜三天的调试故事 去年做六轴协作机器人末端力控的时候,遇到一个诡异的问题:机器人末端在某个位姿下,明明关节速度指令给得很平滑,末端速度却突然跳变,导致力控震荡。当时我盯着示波器上的速度曲线,百思不得其解——运动学…...

ant-design 1.x版本表格头部拖拽、可拖拽列实现

表格列宽拖拽调整 — 问题总结 版本 “vue”: “2.6.11”,“vue-draggable-resizable”: “^2.3.0”,"ant-design “&#xff1a;”1.7.0“ 问题 1&#xff1a;thDom 为 null 导致 getBoundingClientRect 报错 现象&#xff1a; TypeError: Cannot read properties of nul…...

深兰科技签约乌兹别克斯坦智慧城市项目,推动中国AI出海规模化

2026年5月11日&#xff0c;深兰人工智能科技(上海)股份有限公司与乌兹别克斯坦合作方在上海张江总部举行签约仪式。双方将围绕乌兹别克斯坦新塔什干新城(Yangi Toshkent)智慧城市建设展开合作&#xff0c;深兰科技通过控股乌兹别克项目公司&#xff0c;围绕智慧城市、智慧住宅、…...

SpringBoot项目快速集成Taotoken多模型API的完整教程

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 SpringBoot项目快速集成Taotoken多模型API的完整教程 对于使用SpringBoot框架的Java开发者而言&#xff0c;接入不同的大模型服务通…...

Harness Engineering:用“确定性“驾驭AI的“不确定性“

上一篇 SDD 系列收尾时&#xff0c;留了一句话&#xff1a;“如何驾驭 AI 来赋能整个软件开发周期&#xff0c;将是另外一个值得深入探讨的话题。” 到现在有将近一个月没更新&#xff01;期间除了偷懒&#xff0c;五一跑高速添堵之外&#xff0c;主要的原因是这个问题没怎么想…...

FPGA异构计算与模块化SoM:赋能边缘智能与工业应用实战

1. 项目概述&#xff1a;一次行业深度交流的契机最近&#xff0c;我作为Enclustra团队的一员&#xff0c;有幸受邀参加了今年的嵌入式计算大会。这不仅仅是一次简单的行业聚会&#xff0c;更是一个观察技术风向、碰撞思想火花、探寻合作机会的绝佳窗口。对于所有深耕于嵌入式系…...

国产LDO CN86L028实战:解决图像传感器电源噪声,兼容BL8062

1. 项目概述与核心需求解析最近在折腾一个老式录像机的修复与升级项目&#xff0c;目标很明确&#xff1a;提升其图像采集的稳定性。这台设备在运行中&#xff0c;画面时不时会出现条纹干扰&#xff0c;声音里也夹杂着微弱的底噪&#xff0c;尤其是在电源波动较大的环境下&…...

AI 写作进入长篇记忆时代,AI让小说创作更可控

AI 写小说最常被讨论的问题&#xff0c;是写得快不快、文笔好不好。但对于真正写长篇的作者来说&#xff0c;还有一个更重要的问题&#xff1a;AI 记不记得住。 一部网文写到几十章、几百章后&#xff0c;人物关系会越来越复杂&#xff0c;伏笔会越来越多&#xff0c;世界观设…...

从零到一:UniApp CLI 实战入门与避坑指南

1. 为什么需要UniApp CLI&#xff1f; 第一次接触UniApp的开发者可能会疑惑&#xff1a;明明有HBuilderX这样完善的图形化工具&#xff0c;为什么还要学习CLI&#xff1f;这个问题我也曾经纠结过。经过多个项目的实战验证&#xff0c;我发现CLI在以下场景中优势明显&#xff1a…...

如何用DS4Windows让PS4手柄在PC上完美运行?3步解锁专业游戏体验

如何用DS4Windows让PS4手柄在PC上完美运行&#xff1f;3步解锁专业游戏体验 【免费下载链接】DS4Windows Like those other ds4tools, but sexier 项目地址: https://gitcode.com/gh_mirrors/ds/DS4Windows 你是否曾经想过在PC上使用心爱的PS4手柄玩游戏&#xff0c;却发…...

基于ARM核心板的工业无线示教器开发全流程解析

1. 项目概述&#xff1a;当工业机器人遇上“掌上大脑”在工业自动化领域&#xff0c;示教器是人与机器人交互的核心枢纽。传统的示教器&#xff0c;往往体积庞大、线缆缠绕、成本高昂&#xff0c;并且高度依赖特定的控制器硬件。作为一名长期混迹于工控和嵌入式开发一线的工程师…...

workbuddy 来解决 华南x99-4mf 设置avx2的bois信息的问题

baidu 抖音 都搜索不到 华南x99-4mf 设置avx2的bois信息 默认bois没有这个选项&#xff0c;用workbuddy 来解决 The user wants to search for information about the “华南X99-4MF” motherboard, specifically whether it supports AVX2 settings in BIOS, and wants to do…...

纺织行业智能化升级进入深水区:AI验布机从“可选项”变为“必选项”

过去三年&#xff0c;走访过数十家纺织服装企业的行业观察者会发现一个明显的变化&#xff1a;2023年时&#xff0c;AI验布机还是展会上引人驻足的新奇设备&#xff1b;到了2025年&#xff0c;它已经成为越来越多工厂标准配置的一部分。这一转变背后&#xff0c;折射出整个纺织…...

2026届学术党必备的五大降AI率工具解析与推荐

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 每位学者以及学生&#xff0c;在学术研究的这条道路之上&#xff0c;都必然要跨越论文写作这…...

ElevenLabs奥里亚文语音合规性警告:印度《2023语言技术法案》生效后,这4类商用场景必须重做语音备案

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ElevenLabs奥里亚文语音合规性警告的背景与紧迫性 ElevenLabs 作为领先的文本转语音&#xff08;TTS&#xff09;服务提供商&#xff0c;近期在其 API 文档与开发者控制台中新增了针对奥里亚文&#xf…...

如何轻松掌握res-downloader:高效下载网络资源的终极指南

如何轻松掌握res-downloader&#xff1a;高效下载网络资源的终极指南 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader 你是否曾…...

Arduino ESP32终极开发指南:从硬件抽象到物联网实战

Arduino ESP32终极开发指南&#xff1a;从硬件抽象到物联网实战 【免费下载链接】arduino-esp32 Arduino core for the ESP32 family of SoCs 项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32 ESP32作为物联网开发领域的明星芯片&#xff0c;以其强大的…...

靠谱的微晶电热板机构

在实验设备领域&#xff0c;微晶电热板是一款重要的工具&#xff0c;选择靠谱的机构至关重要。微晶电热板的重要性微晶电热板在环境监测、食品安全、农产品检测等分析实验室中应用广泛。它能够为样品前处理提供稳定的加热环境&#xff0c;保障实验结果的准确性。行业报告显示&a…...

手把手教你用STC89C52单片机驱动DS1302时钟模块(附完整代码)

STC89C52与DS1302时钟模块实战指南&#xff1a;从硬件搭建到代码实现 1. 项目概述与硬件准备 在嵌入式系统开发中&#xff0c;实时时钟(RTC)功能是许多项目的核心需求。STC89C52作为经典的51系列单片机&#xff0c;与DS1302时钟模块的组合&#xff0c;为开发者提供了经济实惠且…...

ESP32+LVGL8.3保姆级教程:搞定ST7789V屏幕和CST816T触摸(附完整代码)

ESP32LVGL8.3实战指南&#xff1a;ST7789V屏幕与CST816T触摸的深度适配 当一块240x280分辨率的ST7789V屏幕与CST816T触摸芯片组合遇到ESP32开发板&#xff0c;如何让LVGL8.3图形库完美驱动这套硬件&#xff1f;本文将带你从零开始&#xff0c;穿越配置迷宫&#xff0c;解决色彩…...