news 2026/2/14 21:11:04

tree

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
tree

lc333

DFS遍历树,每个节点记录子树最值和BST节点数(-1非BST)

验证当前节点为根的子树是否BST,实时更最大BST节点数

class Solution {
int ans = 0;
using T = tuple<int, int, int>;

public:
int largestBSTSubtree(TreeNode* root) {
if (!root) return 0;
dfs(root);
return ans;
}

T dfs(TreeNode* n)
{
int mn = n->val, mx = n->val;
int ls = 0, rs = 0;
bool ok = true;

if (n->left) {
auto [lm, lx, lz] = dfs(n->left);
if (lz == -1 || n->val <= lx) ok = false;
mn = min(mn, lm);
mx = max(mx, lx);
ls = lz;
}

if (n->right) {
auto [rm, rx, rz] = dfs(n->right);
if (rz == -1 || n->val >= rm) ok = false;
mn = min(mn, rm);
mx = max(mx, rx);
rs = rz;
}

int sz = ok ? (1 + ls + rs) : -1;
if (sz != -1) ans = max(ans, sz);

return {mn, mx, sz};
}
};

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/6 21:04:04

Python 潮流周刊#73:让我们对 PyPI 温柔一点,好吗?

你好&#xff0c;我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容&#xff0c;大部分为英文。周刊开源在 Github 上&#xff0c;喜欢请给颗小星星支持下~分享了 12 篇文章&#xff0c;12 个开源项目&#xff0c;2 则热门讨论&#xff0c;全文 2000 字。&#x1f984;文…

作者头像 李华
网站建设 2026/2/12 0:22:14

终极解决Sanic CLI异常:快速修复开发模式故障的完整指南

终极解决Sanic CLI异常&#xff1a;快速修复开发模式故障的完整指南 【免费下载链接】sanic Accelerate your web app development | Build fast. Run fast. 项目地址: https://gitcode.com/gh_mirrors/sa/sanic Sanic是一个基于Python的异步Web框架&#xff0c;以其高…

作者头像 李华
网站建设 2026/2/9 21:53:02

如何快速掌握无名杀角色开发:游戏开发者的终极指南

如何快速掌握无名杀角色开发&#xff1a;游戏开发者的终极指南 【免费下载链接】noname 项目地址: https://gitcode.com/GitHub_Trending/no/noname 无名杀作为一款功能强大的开源卡牌游戏引擎&#xff0c;为开发者提供了丰富的角色定制能力。无论你是游戏开发新手还是…

作者头像 李华
网站建设 2026/2/8 18:12:49

GeoTools:解锁地理空间数据的Java全能工具箱

GeoTools&#xff1a;解锁地理空间数据的Java全能工具箱 【免费下载链接】geotools Official GeoTools repository 项目地址: https://gitcode.com/gh_mirrors/ge/geotools 在当今数据驱动的世界中&#xff0c;地理空间信息已成为决策制定的关键要素。GeoTools作为一个成…

作者头像 李华
网站建设 2026/2/8 11:55:20

5、深入理解 iptables 防火墙:配置、激活与测试

深入理解 iptables 防火墙:配置、激活与测试 1. 网络地址转换(NAT) 在构建 iptables 策略时,网络地址转换(NAT)是关键的最后一步。其主要目的是将不可路由的内部地址(如 192.168.10.0/24)转换为可路由的外部地址(如 71.157.X.X)。这一转换适用于外部客户端对内部 W…

作者头像 李华
网站建设 2026/2/4 0:10:06

Llama-Factory如何保障多用户并发训练的稳定性?

Llama-Factory如何保障多用户并发训练的稳定性&#xff1f; 在大模型时代&#xff0c;越来越多团队希望基于LLaMA、Qwen等主流架构定制专属语言模型。然而现实往往并不理想&#xff1a;一个研究人员刚启动微调任务&#xff0c;另一个用户的训练就因显存溢出而崩溃&#xff1b;不…

作者头像 李华