LeetCode 687. 最长同值路径(二叉树,递归)

1. 题目

给定一个二叉树,找到最长的路径,这个路径中的每个节点具有相同值。 这条路径可以经过也可以不经过根节点。

注意:两个节点之间的路径长度由它们之间的边数表示。

示例 1:
输入:5/ \4   5/ \   \1   1   5
输出:
2示例 2:
输入:1/ \4   5/ \   \4   4   5
输出:
2
注意: 给定的二叉树不超过10000个结点。 树的高度不超过1000

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-univalue-path
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 递归解题

class Solution {int maxlen = 0;
public:int longestUnivaluePath(TreeNode* root) {if(!root)return 0;sameValue(root);//跟root值一样的longestUnivaluePath(root->left);longestUnivaluePath(root->right);return maxlen;}int sameValue(TreeNode* root){if(root == NULL)return 0;int leftLen = 0, rightLen = 0;if(root->left && root->left->val == root->val)leftLen = sameValue(root->left);if(root->right && root->right->val == root->val)rightLen = sameValue(root->right);maxlen = max(leftLen+rightLen, maxlen);//最大值实时更新,根左右连通,最长路径return 1+max(leftLen, rightLen);//传出去,只能选择一边的路径}
};

在这里插入图片描述

class Solution {int maxlen = 0;
public:int longestUnivaluePath(TreeNode* root) {sameValue(root);return maxlen;}int sameValue(TreeNode* root){if(root == NULL)return 0;int leftLen = sameValue(root->left);int rightLen = sameValue(root->right);int L = 0, R = 0;if(root->left && root->left->val == root->val)L = leftLen+1;if(root->right && root->right->val == root->val)R = rightLen+1;maxlen = max(L+R, maxlen);return max(L, R);}
};

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/477939.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习中的数据清洗与特征处理综述

随着美团交易规模的逐步增大,积累下来的业务数据和交易数据越来越多,这些数据是美团做为一个团购平台最宝贵的财富。通过对这些数据的分析和挖掘,不仅能给美团业务发展方向提供决策支持,也为业务的迭代指明了方向。目前在美团的团…

论文浅尝 | 面向视觉常识推理的层次语义增强方向图网络

论文笔记整理:刘克欣,天津大学硕士链接:https://dl.acm.org/doi/abs/10.1145/3475731.3484957动机视觉常识推理(VCR)任务旨在促进认知水平相关推理的研究。现有的方法仅考虑了区域-词的相似性来实现视觉和语言域之间的语义对齐,忽…

分类问题后处理技巧CAN,近乎零成本获取效果提升

文 | 苏剑林编 | 智商掉了一地单位 | 追一科技思想朴素却不平凡的分类问题后处理技巧,浅显易懂的讲解,拿来吧你!顾名思义,本文将会介绍一种用于分类问题的后处理技巧——CAN(Classification with Alternating Normaliz…

LeetCode 840. 矩阵中的幻方(数学)

1. 题目 3 x 3 的幻方是一个填充有从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的 grid,其中有多少个 3 3 的 “幻方” 子矩阵?(每个子矩阵都是连续的&…

Docker系列之一:入门介绍

Docker简介 Docker是DotCloud开源的、可以将任何应用包装在Linux container中运行的工具。2013年3月发布首个版本,当前最新版本为1.3。Docker基于Go语言开发,代码托管在Github上,目前超过10000次commit。基于Docker的沙箱环境可以实现轻型隔离…

论文浅尝 | 动态知识图谱对齐

论文笔记整理:谭亦鸣,东南大学博士生来源:AAAI‘21链接:https://ojs.aaai.org/index.php/AAAI/article/view/16585概述本文提出了一种动态图谱(KG)对齐方法,在“动态”(即图谱可能随时间更新)的…

你的 GNN,可能 99% 的参数都是冗余的

文 | iven自从图卷积神经网络(GCN)面世以来,图神经网络(GNN)的热潮一瞬间席卷 NLP。似乎在一切 NLP 任务上,引入一个图结构,引入一个 GNN,就能让模型拥有推理能力。更重要的是&#…

LeetCode 874. 模拟行走机器人(set)

1. 题目 机器人在一个无限大小的网格上行走&#xff0c;从点 (0, 0) 处开始出发&#xff0c;面向北方。该机器人可以接收以下三种类型的命令&#xff1a; -2&#xff1a;向左转 90 度-1&#xff1a;向右转 90 度1 < x < 9&#xff1a;向前移动 x 个单位长度 在网格上有…

高级语言的编译:链接及装载过程介绍

引言 随着越来越多功能强大的高级语言的出现&#xff0c;在服务器计算能力不是瓶颈的条件下&#xff0c;很多同学会选择开发效率高&#xff0c;功能强大的虚拟机支持的高级语言&#xff08;Java&#xff09;&#xff0c;或者脚本语言&#xff08;Python&#xff0c;Php&#xf…

图谱实战 | 基于半结构化百科的电影KG构建、查询与推理实践记录

转载公众号 | 老刘说NLP本文围绕基于半结构化百科的电影知识图谱构建、查询与推理实践这一主题&#xff0c;完成基于百度百科的电影元组抽取、基于protg的电影本体构建、基于D2RQ的RDF数据转换与查询、基于Apache jena的电影知识推理四个环节的实践。这是半结构化知识图谱构建和…

推荐系统精排:看阿里妈妈再试线性模型

文 | 水哥源 | 知乎saying1.科学总是要求我们有深度&#xff0c;但在实际业务中这却是一条悖论&#xff1a;越有深度的事情往往投入产出比不够高2.当我有一个方法A&#xff0c;还有一个方法B。且B的某种简单形式就是A的时候&#xff0c;我就会很快乐&#xff0c;因为这时候B获取…

LeetCode 686. 重复叠加字符串匹配

1.题目 给定两个字符串 A 和 B, 寻找重复叠加字符串A的最小次数&#xff0c;使得字符串B成为叠加后的字符串A的子串&#xff0c;如果不存在则返回 -1。 举个例子&#xff0c;A “abcd”&#xff0c;B “cdabcdab”。 答案为 3&#xff0c; 因为 A 重复叠加三遍后为 “abcd…

如何提升大规模Transformer的训练效果?Primer给出答案

文 | 舞风小兔编 | 智商掉了一地如何进一步提升大规模Transformer的训练效果&#xff1f;Primer给出了答案&#xff0c;一起来看看吧&#xff01;Transformer是深度学习界的明星模型。由于其具有高度的并行性&#xff0c;十分容易在并行计算系统中扩展至超大规模。自然语言处理…

会议交流|大模型与图学习等知识图谱相关技术实践探索

2021年&#xff0c;在疫情隔离和复杂国际形势的背景下&#xff0c;我们越发认识到重视核心基础技术&#xff0c;对保持国家独立自主发展的关键价值&#xff0c;互联网和科技行业也面临着新的挑战和变革机遇&#xff0c;新的AI技术正发挥越来越大的作用&#xff0c;AI技术本身正…

Kafka文件存储机制那些事

Kafka是什么 Kafka是最初由Linkedin公司开发&#xff0c;是一个分布式、分区的、多副本的、多订阅者&#xff0c;基于zookeeper协调的分布式日志系统(也可以当做MQ系统)&#xff0c;常见可以用于web/nginx日志、访问日志&#xff0c;消息服务等等&#xff0c;Linkedin于2010年贡…

LeetCode 392. 判断子序列(双指针二分查找)

1. 题目 给定字符串 s 和 t &#xff0c;判断 s 是否为 t 的子序列。 你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长&#xff08;长度 ~ 500,000&#xff09;&#xff0c;而 s 是个短字符串&#xff08;长度 <100&#xff09;。 字符串的一个子序列是原始…

仅仅因为方法 Too Simple 就被拒稿,合理吗?

文 | 小戏编 | 小轶如果你看到自己实验行之有效的论文被退稿&#xff0c;而收到的退稿理由仅仅是“方法太简单”&#xff0c;你会怎么想&#xff1f;这两天在推特上&#xff0c;佐治亚理工的 Riedl 教授吐槽了自己收到的 AAAI phase 1 退稿理由居然是因为“这方法似乎太简单”&…

论文浅尝 | 从具有数值边缘属性的知识图谱中学习嵌入

论文笔记整理&#xff1a;朱珈徵&#xff0c;天津大学硕士链接&#xff1a;https://www.ijcai.org/proceedings/2021/0395.pdf动机从遗传数据到社会网络&#xff0c;在越来越多的场景下与知识图谱边缘相关的数值已经被用来表示不确定性、边的重要性&#xff0c;甚至是带外知识。…

LeetCode 459. 重复的子字符串(数学)

1. 题目 给定一个非空的字符串&#xff0c;判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母&#xff0c;并且长度不超过10000。 示例 1: 输入: "abab" 输出: True 解释: 可由子字符串 "ab" 重复两次构成。示例 2: 输入: &quo…

被放养导致申博论文难产,该不该硬gang导师?

最近一位粉丝给我发长文求助&#xff0c;说他因为申博论文的事情快崩溃了&#xff0c;让我给点建议。我把经过贴在这里跟大家探讨一下&#xff1a;985专硕一枚&#xff0c;CV方向&#xff0c;最近想申请国外博士&#xff0c;快被论文逼疯了。提交了初稿&#xff0c;隔了一个月&…