力扣labuladong——一刷day55
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、力扣951. 翻转等价二叉树
- 二、力扣124. 二叉树中的最大路径和
- 三、力扣112. 路径总和(遍历)
- 四、力扣112. 路径总和(分解)
前言
二叉树的遍历代码是动态规划和回溯算法的祖宗。 动态规划 的关键在于明确递归函数的定义,把用子问题的结果推导出大问题的结果。 回溯算法 就简单粗暴多了,就是单纯的遍历回溯树。
一、力扣951. 翻转等价二叉树
/*** 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 flipEquiv(TreeNode root1, TreeNode root2) {if(root1 == null && root2 == null){return true;}if(root1 == null || root2 == null){return false;}if(root1.val != root2.val){return false;}return (flipEquiv(root1.left,root2.left) && flipEquiv(root1.right,root2.right)) || (flipEquiv(root1.left,root2.right) && flipEquiv(root1.right,root2.left));}
}
二、力扣124. 二叉树中的最大路径和
/*** 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 {int res = Integer.MIN_VALUE;public int maxPathSum(TreeNode root) {fun(root);return res;}public int fun(TreeNode root){if(root == null){return 0;}int l = Math.max(0,fun(root.left));int r = Math.max(0,fun(root.right));res = Math.max(res,l+r+root.val);return Math.max(l,r) + root.val;}
}
三、力扣112. 路径总和(遍历)
/*** 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 {boolean flag = false;public boolean hasPathSum(TreeNode root, int targetSum) {if(root == null){return false;}fun(root,targetSum,0);return flag;}public void fun(TreeNode root, int targetSum, int path){if(root == null){return;}if(root.left == null && root.right == null){if(path + root.val == targetSum){flag = true;}return;}fun(root.left,targetSum,path+root.val);fun(root.right,targetSum,path+root.val);}
}
四、力扣112. 路径总和(分解)
/*** 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) {if(root == null){return false;}if(root.left == root.right && root.val == targetSum){return true;}return hasPathSum(root.left,targetSum - root.val) || hasPathSum(root.right,targetSum-root.val);}
}
相关文章:
力扣labuladong——一刷day55
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、力扣951. 翻转等价二叉树二、力扣124. 二叉树中的最大路径和三、力扣112. 路径总和(遍历)四、力扣112. 路径总和(分解&a…...
springboot实现验证码功能
转载自 : www.javaman.cn 1、编写工具类生成4位随机数 该工具类主要生成从0-9,a-z,A-Z范围内产生的4位随机数 /*** 产生4位随机字符串*/public static String getCheckCode() {String base "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmn…...
内测分发平台是否支持应用的微服务化部署
内测分发平台的微服务化部署支持是现代应用开发和部署的一个重要特性。首先我们得知道什么是微服务化部署都有哪些关键功能,如何实施微服务化的部署。下文以我自己理解总结了几点。 图片来源:news.gulufenfa.com 微服务是一种基于独立运行的小型服务来构建应用程序…...
1140. 最短网络,prim算法,模板题
1140. 最短网络 - AcWing题库 农夫约翰被选为他们镇的镇长! 他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场。 约翰已经给他的农场安排了一条高速的网络线路,他想把这条线路共享给其他农场。 约翰的农场的编号是1…...
升级jdk17过程中,原来的jdk8下的webservice客户端怎样处理
背景:之前jdk8环境下,使用的cxf框架,而且是动态加载解析作为客户端。大家一直相处的很愉快。但是最近升级jdk17,发现cxf不好用了。网上百度,大部分都是说升级cxf版本,并且添加jaxb的相关依赖就可以了。但是…...
Verilog基本语法概述
一、概述 Verilog 是一种用于数字逻辑电路设计的硬件描述语言,可以用来进行数字电路的仿真验证、时序分析、逻辑综合。 既是一种 行为级(可用于电路的功能描述) 描述语言又是一种 结构性(可用于元器件及其之间的连接)…...
论文阅读:C2VIR-SLAM: Centralized Collaborative Visual-Inertial-Range SLAM
前言 论文全程为C2VIR-SLAM: Centralized Collaborative Visual-Inertial-Range Simultaneous Localization and Mapping,是发表在MDPI drones(二区,IF4.8)上的一篇论文。这篇文章使用单目相机、惯性测量单元( IMU )和UWB设备作为…...
蓝桥杯刷题day01——字符串中的单词反转
题目描述 你在与一位习惯从右往左阅读的朋友发消息,他发出的文字顺序都与正常相反但单词内容正确,为了和他顺利交流你决定写一个转换程序,把他所发的消息 message 转换为正常语序。 注意:输入字符串 message 中可能会存在前导空…...
Python---引用变量与可变、非可变类型
引用变量 在大多数编程语言中,值的传递通常可以分为两种形式“ 值 传递 与 引用 传递”,但是在Python中变量的传递基本上都是引用传递。 变量在内存底层的存储形式 a 10 第一步:首先在计算机内存中创建一个数值10(占用一块…...
GDOUCTF2023-Reverse WP
文章目录 [GDOUCTF 2023]Check_Your_Luck[GDOUCTF 2023]Tea[GDOUCTF 2023]easy_pyc[GDOUCTF 2023]doublegame[GDOUCTF 2023]L!s![GDOUCTF 2023]润!附 [GDOUCTF 2023]Check_Your_Luck 根据 if 使用z3约束求解器。 EXP: from z3 i…...
Day43力扣打卡
打卡记录 子数组的最小值之和(乘法原理 单调栈) 大佬的题解 class Solution:def sumSubarrayMins(self, arr: List[int]) -> int:n len(arr)# 左边界 left[i] 为左侧严格小于 arr[i] 的最近元素位置(不存在时为 -1)left, s…...
elementui的table合并列,三个一组
<el-table :span-method"objectSpanMethod" :cell-style"iCellStyle" :data"tableData" height"63vh" border style"width: 100%; margin-top: 6px"><el-table-column type"index" label"序号"…...
HarmonyOS-Service服务开发(一)
文章目录 创建新项目启动Serviceets获取service的bundleName DataAbility开发指导开发Data步骤创建Data 创建新项目 ServiceAbility开发指导 在config.json中也有配置出现 启动Service ets获取service的bundleName 项目的bundleName service的bundleName 这里serviceAbil…...
FLASK博客系列4——再谈路由
最近好像拖更有点久了。抱歉抱歉~ 今天我们继续来聊聊路由(其实就是我上次偷懒剩下一点没讲完)。 通过上次的文章,我们基本了解了Flask中的路由,是不是比较简单呢?别急,今天来点猛料。 一、路由之HTTP方法绑…...
sql之left join、right join、inner join的区别
sql之left join、right join、inner join的区别 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录 inner join(等值连接) 只返回两个表中联结字段相等的行 举例如下࿱…...
京东秒杀之秒杀详情
1 编写前端页面(商品详情) <!DOCTYPE html> <head><title>商品详情</title><meta http-equiv"Content-Type" content"text/html; charsetUTF-8" /><script type"text/javascript" src&…...
mobaxterm 下载、安装、使用
下载 官网 MobaXterm free Xserver and tabbed SSH client for Windows 下载页面 MobaXterm Xserver with SSH, telnet, RDP, VNC and X11 - Download 点击下载 安装 双击安装 勾选协议 修改安装路径 ,等待安装完成 使用 启动 新建连接 输入主机用户名和密…...
办公技巧:Word中插入图片、形状、文本框排版技巧
目录 一、插入图片排版技巧 二、添加形状排版技巧 三、插入“文本框”排版技巧 我们平常在制作word时候经常会遇到插入选项卡下的图片、形状和文本框这三种情况下,那么如何使得Word文档当中添加这三个元素的同时,又能保证样式美观呢,今天小…...
apple macbook M系列芯片安装 openJDK17
文章目录 1. 查找openjdk版本2. 安装openjdk3. 多jdk之间的切换 在这里我们使用 brew 命令查找并安装。 1. 查找openjdk版本 执行:brew search openjdk,注意:执行命令后,如果得到的结果中没有红框内容,则需要更新一下…...
C语言——打印出所有的“水仙花数”
所谓水仙花数,是指一个3位数,其各位数字立方和等于该数本身。水仙花数是指一个三位数,它的每个位上的数字的立方和等于它本身。例如,153是一个水仙花数,因为1^3 5^3 3^3 153。 #define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>…...
基于STM32的家用医药箱(有完整资料)
资料查找方式:特纳斯电子(电子校园网):搜索下面编号即可编号:T0872301M设计简介:本设计是基于STM32的家用医药箱设计,主要实现以下功能:1.OLED屏显示药物名称和存储时间 2.具有温度检…...
Windows Defender移除工具:3个步骤彻底释放系统性能的完整指南
Windows Defender移除工具:3个步骤彻底释放系统性能的完整指南 【免费下载链接】windows-defender-remover A tool which is uses to remove Windows Defender in Windows 8.x, Windows 10 (every version) and Windows 11. 项目地址: https://gitcode.com/gh_mir…...
golang如何使用BubbleTea开发终端UI_golang BubbleTea终端UI开发攻略
Bubble Tea要求Model为值类型以确保状态更新生效,Update须秒级返回且不可阻塞,View需防panic,跨平台构建Windows需加.exe后缀并注意编码。Model 必须是值类型,否则状态更新会失效Bubble Tea 的 Update 函数返回新模型实例…...
KV260 视觉 AI 套件实战--从零部署到网络互联(Ubuntu+SSH)
1. KV260视觉AI套件开箱初体验 第一次拿到KV260视觉AI套件时,给我的感觉就像收到了一台迷你工作站。这个巴掌大的开发板搭载了Xilinx的Zynq UltraScale MPSoC芯片,集成了四核ARM Cortex-A53处理器和可编程逻辑单元,专为边缘AI视觉应用设计。套…...
算法训练营第二天| 27. 双指针
题目链接:https://leetcode.cn/problems/remove-element/ 视频讲解:https://www.bilibili.com/video/BV12A4y1Z7LP自己看到题目的第一想法看到题目要求原地移除数组中所有等于给定值的元素,并返回新长度,我第一反应是这肯定不能真…...
BGE Reranker-v2-m3部署案例:离线考试阅卷系统中实现主观题参考答案语义匹配
BGE Reranker-v2-m3部署案例:离线考试阅卷系统中实现主观题参考答案语义匹配 1. 项目背景与需求场景 在传统的考试阅卷系统中,主观题评分一直是个让人头疼的问题。特别是像简答题、论述题这类题目,学生的答案五花八门,但表达的意…...
ZephyrOS实战:从心率计示例剖析Bluetooth LE服务构建
1. 从零认识ZephyrOS与BLE心率计开发 第一次接触ZephyrOS的蓝牙开发时,我对着官方文档和示例代码发了半天呆——这个实时操作系统对蓝牙协议栈的封装方式确实和传统嵌入式开发不太一样。就拿最经典的心率计示例(peripheral_hr)来说࿰…...
做工商业储能项目,储能逆变器光储一体机怎么选才不踩坑?
最近和不少做新能源贸易的朋友聊天,大家都在吐槽今年工商储项目好接,但光储一体机的选品太容易出问题:要么是拿到的产品转换效率虚标,实际运行发电量比宣传低 10%,客户拒付尾款;要么是产品没有对应地区的并…...
如何备份备库Data Guard_在Standby端执行RMAN备份减轻主库压力
不能直接在备库连RMAN TARGET /备份,因DG备库控制文件为只读的standby控制文件,RMAN默认不信任其作为备份源,需先配置DB_UNIQUE_NAME、挂载standby控制文件并编目数据文件。为什么不能直接在备库连 RMAN TARGET / 就开干因为默认情况下&#…...
腾讯会议回放视频过期了怎么办?亲测这款免费下载器,本地保存学习资料不求人
腾讯会议回放视频本地化保存实战指南:突破时间限制的知识管理方案 当你在深夜整理学习笔记时,突然发现上周的培训回放已过期;当项目复盘需要参考关键会议片段时,系统提示"视频已失效"——这种数字时代的"时间焦虑&…...
