每日算法Day11【左叶子之和、找树左下角的值、路径总和】
404.左叶子之和
算法链接:
404. 左叶子之和 - 力扣(LeetCode)

类型: 二叉树
难度: 简单
思路:要判断一个节点是否为左叶子节点,只能通过其父节点进行判断。
题解:
/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val = val; }* TreeNode(int val, TreeNode left, TreeNode right) {* this.val = val;* this.left = left;* this.right = right;* }* }*/
//解法1:递归法
class Solution {public int sumOfLeftLeaves(TreeNode root) {if(root == null||root.left==null&&root.right==null){return 0;}int l = sumOfLeftLeaves(root.left);if(root.left!=null&&root.left.left==null&&root.left.right==null){l+= root.left.val;}int r = sumOfLeftLeaves(root.right);return l+r;}
}
//解法2:迭代法
513.找树左下角的值
算法链接:
513. 找树左下角的值 - 力扣(LeetCode)

类型: 二叉树
难度: 中等
思路:层序遍历法,当每一层插入第一个(同一层最左边)的节点时,记录该节点并且将其返回。
递归法:前序遍历,判断当层数+1时记录当前值。(顺序:中、左、右)
题解:
/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val = val; }* TreeNode(int val, TreeNode left, TreeNode right) {* this.val = val;* this.left = left;* this.right = right;* }* }*/
//解法1:层序遍历迭代法
class Solution {public int findBottomLeftValue(TreeNode root) {int res = 0;Deque<TreeNode> que = new LinkedList<>();que.offer(root);while(!que.isEmpty()){int size = que.size();for(int i = 0;i<size;i++){TreeNode poll = que.poll();if(i==0){res = poll.val;}if(poll.left!=null){que.offer(poll.left);}if(poll.right!=null){que.offer(poll.right);}}}return res;}
}
//解法2:递归法
112. 路径总和
算法链接:
112. 路径总和 - 力扣(LeetCode)

类型: 二叉树
难度: 简单
题解:
/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val = val; }* TreeNode(int val, TreeNode left, TreeNode right) {* this.val = val;* this.left = left;* this.right = right;* }* }*/
class Solution {public boolean hasPathSum(TreeNode root, int targetSum) {return search(root,0,targetSum);}boolean search(TreeNode root,int sum,int targetSum){if(root == null){return false;}sum+=root.val;if(root.left==null&&root.right==null){return sum==targetSum;}boolean l = search(root.left,sum,targetSum);boolean r = search(root.right,sum,targetSum);return l||r;}
}
相关文章:
每日算法Day11【左叶子之和、找树左下角的值、路径总和】
404.左叶子之和 算法链接: 404. 左叶子之和 - 力扣(LeetCode) 类型: 二叉树 难度: 简单 思路:要判断一个节点是否为左叶子节点,只能通过其父节点进行判断。 题解: /*** Definition for a binary tree node.* public class Tr…...
分享一下使用 AI 开发个人工具的迭代过程
分享一下使用 AI 开发个人工具的迭代过程:1. 找 gpt/claude 要一个 super shady coder 的人设 prompt;2. 简单介绍项目背景和基础需求给 gemini,生成最初的细化需求;3. 根据细化需求再次分析,完善边界条件,…...
大型语言模型(LLMs)演化树 Large Language Models
大型语言模型(LLMs)演化树 Large Language Models flyfish 下面的图来自论文地址 Transformer 模型(如 BERT 和 GPT-3)已经给自然语言处理(NLP)领域带来了革命性的变化。这得益于它们具备并行化能力&…...
部分背包问题
本节学习解决部分背包问题,部分背包代表物品可以按照一定比例被分割,而后放入背包内.这是十分经典的用贪心算法解决的问题. 问题描述: 给定一些物品,用matrix表示各个物品的属性,第一项表示物品的质量,第二项表示物品的总价值.现有一背包最大承重为M,试求如何让背包中所装物品…...
教师管理系统
大概功能: 1.显示所有教师 2.按姓名查找教师 3.按工号查找教师 4.增加教师 5.删除教师 6.退出 数据会保存到 txt 文件里面 姓名:必须是中文 手机号码:必须是11位,必须是数字 效果展示: 代码展示: Teache…...
Word论文交叉引用一键上标
Word论文交叉引用一键上标 1.进入Microsoft word使用CtrlH快捷键或单击替换按钮 2.在查找内容中输入[^#] 3.鼠标点击,标签为“替换为:”的文本框,注意光标一定要打在图红色方框圈中的文本框中! 4.点击格式选择字体 5.勾选上标…...
集成方案 | Docusign + 蓝凌 EKP,打造一站式合同管理平台,实现无缝协作!
本文将详细介绍 Docusign 与蓝凌 EKP 的集成步骤及其效果,并通过实际应用场景来展示 Docusign 的强大集成能力,以证明 Docusign 集成功能的高效性和实用性。 在当今数字化办公环境中,企业对于提高工作效率和提升用户体验的需求日益迫切。蓝凌…...
Python大数据可视化:基于python大数据的电脑硬件推荐系统_flask+Hadoop+spider
开发语言:Python框架:flaskPython版本:python3.7.7数据库:mysql 5.7数据库工具:Navicat11开发软件:PyCharm 系统展示 管理员登录 管理员功能界面 价格区间界面 用户信息界面 品牌管理 笔记本管理 电脑主机…...
【递归与回溯深度解析:经典题解精讲(下篇)】—— Leetcode
文章目录 有效的数独解数独单词搜索黄金矿工不同的路径||| 有效的数独 递归解法思路 将每个数独的格子视为一个任务,依次检查每个格子是否合法。 如果当前格子中的数字违反了数独规则(在行、列或 33 小方块中重复),直接返回 Fals…...
Spring boot处理跨域问题
Spring boot处理跨域问题 方案一方案二推荐解决方案注意 方案一 实现WebMvcConfigurer的addCorsMappings方法 Configuration public class InterceptorConfig implements WebMvcConfigurer {Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMappin…...
每日小题打卡
目录 幂次方 手机键盘 简单排序 校庆 性感素数 幂次方 题目描述 对任意正整数 N,计算 X^Nmod233333 的值。 输入格式 共一行,两个整数 X 和 N。 输出格式 共一行,一个整数,表示 X^Nmod233333 的值。 数据范围 1≤…...
RockyLinux介绍及初始化
文章目录 一、背景二、下载 RockyLinux9 镜像三、环境初始化四、安装 Docker 环境 一、背景 这里讲一个小故事: 我们都知道Linux 内核是由芬兰计算机科学家林纳斯托瓦兹 (Linus Torvalds) 于 1991 年首次开发的,随后有一个非常重要的公司RetHat成立&am…...
2024年12月青少年软件编程(C语言/C++)等级考试试卷(三级)
2024.12青少年软件编程(C语言三级)等级考试试卷 1.最近的斐波那契数 题目描述 斐波那契数列 Fn的定义为:对n≥0有Fn2Fn1Fn、初始值为 F00和F11。所谓与给定的整数N最近的斐波那契数是指与N的差之绝对值最小的斐波那契数。 本题就请你为任意给…...
【Leecode】Leecode刷题之路第92天之反转链表II
题目出处 92-反转链表II-题目出处 题目描述 个人解法 思路: todo代码示例:(Java) todo复杂度分析 todo官方解法 92-反转链表II-官方解法 前言 链表的操作问题,一般而言面试(机试)的时候不…...
StableAnimator模型的部署:复旦微软提出可实现高质量和高保真的ID一致性人类视频生成
文章目录 一、项目介绍二、项目部署模型的权重下载提取目标图像的关节点图像(这个可以先不看先用官方提供的数据集进行生成)提取人脸(这个也可以先不看)进行图片的生成 三、模型部署报错 一、项目介绍 由复旦、微软、虎牙、CMU的…...
3.阿里云flinkselectdb-py作业
1.概述 Python API中文文档 本文介绍在阿里云实时计算flink中使用python作业,把oss中的数据同步数据到阿里云selectdb的过程。python简单的语法特性更适合flink作业的开发; 先说结论: 在实际开发中遇到了很多问题,导致python作业基本基本无法…...
MATLAB语言的网络编程
标题:MATLAB中的网络编程:深入探索与实践 一、引言 在现代科学和工程领域中,网络编程已经成为了数据处理、信号分析、模型构建等众多任务中不可或缺的一环。MATLAB作为一款强大的数学计算软件,不仅提供了丰富的数值计算功能&…...
深入浅出 Linux 操作系统
深入浅出 Linux 操作系统 引言 在当今数字化的时代,Linux 操作系统无处不在。从支撑互联网巨头庞大的数据中心,到嵌入智能家居设备的微型芯片,Linux 都发挥着关键作用。然而,对于许多人来说,Linux 仍笼罩着一层神秘的…...
golang实现生产者消费者模式
在Go语言中,生产者消费者模式可以通过使用Goroutines和Channels来实现。Goroutines允许并发执行,而Channels则用于在生产者和消费者之间安全地传递数据。 生产者消费者模式的基本思路 生产者:负责生成数据并将其放入一个共享的缓冲区…...
自动化测试-Pytest测试
目录 pytest简介 基本测试实例 编写测试文件 执行测试 pytest运行时参数 mark标记 Fixture pytest插件 Allure测试报告 测试步骤 pytest简介 Pytest是一个非常流行的Python测试框架,它支持简单的单元测试和复杂的功能测试,具有易于上手、功…...
G-Helper解决华硕笔记本续航衰减的智能调控方案:延长50%使用时间
G-Helper解决华硕笔记本续航衰减的智能调控方案:延长50%使用时间 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF,…...
轨迹预测新范式(ECCV’24):渐进式任务学习框架在行人轨迹预测中的实践与优化
1. 行人轨迹预测的挑战与渐进式学习框架的诞生 预测行人未来轨迹一直是计算机视觉和智能体交互领域的核心难题。想象一下,当你走在拥挤的商场里,大脑会不自觉地预测周围行人的移动方向——这种看似简单的行为,对AI系统来说却需要处理复杂的时…...
FSearch:Linux系统上如何用这款革命性工具实现毫秒级文件搜索
FSearch:Linux系统上如何用这款革命性工具实现毫秒级文件搜索 【免费下载链接】fsearch A fast file search utility for Unix-like systems based on GTK3 项目地址: https://gitcode.com/gh_mirrors/fs/fsearch 你是否曾在Linux系统中为寻找一个文件而花费…...
TempleOS 技术解析:从神圣代码到单地址空间设计的独特哲学
1. TempleOS的诞生:当代码遇见信仰 第一次听说TempleOS时,我正泡在技术论坛里闲逛。这个操作系统的名字就透着股神秘感——"神殿操作系统"。点开详细介绍后更震惊了:这居然是一个程序员声称按照"上帝指示"开发的系统&…...
【GitHub项目推荐--Godogen:一句话生成完整 Godot 游戏的 AI 流水线】⭐⭐⭐
简介 Godogen 是一套基于 Claude Code 构建的自动化游戏开发流水线。它不仅仅是一个代码生成器,更是一个全栈的“AI 开发团队”:你只需用自然语言描述游戏创意,它便能自动完成架构设计、美术生成、代码编写、引擎截图、视觉质检的全流程…...
当企业规模增长后,IT管理为什么越来越“失控”?
在企业早期,IT 管理往往是“够用就好”。 一套简单的工单工具、一份资产台账、几个人工流程,就足以支撑日常运转。但当企业规模逐渐扩大,员工数量增长、系统复杂度提升、业务节奏加快时,原本“还能用”的 IT 管理方式,…...
告别单调模型!FreeCAD‘逐面着色’保姆级教程:从颜色理论到3D打印预览
告别单调模型!FreeCAD‘逐面着色’保姆级教程:从颜色理论到3D打印预览 在3D设计领域,模型的美观度往往决定了第一印象。你是否遇到过这样的困境:精心建模的作品因为单调的色彩而失去表现力?FreeCAD的逐面着色功能正是打…...
当生物黑客入侵脑机接口:安全测试救了我们公司
在脑机接口(Brain-Computer Interface, BCI)技术飞速发展的今天,软件测试从业者正面临前所未有的安全挑战。作为一名资深测试工程师,我亲历了一场惊心动魄的生物黑客入侵事件——一场针对我们公司脑机接口产品的攻击险些导致灾难性…...
实践指南:运用语义熵为LLM生成内容构建“幻觉防火墙”
1. 什么是语义熵?为什么它能成为LLM的"幻觉防火墙"? 第一次听到"语义熵"这个词时,我正被一个智能客服项目折磨得焦头烂额。当时我们的GPT-3.5模型总喜欢给用户编造不存在的产品功能,就像个过度热情的销售员。…...
GitHub加速完全指南:从诊断到优化的全方位解决方案
GitHub加速完全指南:从诊断到优化的全方位解决方案 【免费下载链接】gh-proxy github release、archive以及项目文件的加速项目 项目地址: https://gitcode.com/gh_mirrors/gh/gh-proxy GitHub作为全球最大的代码托管平台,其访问速度直接影响开发…...
