LeetCode 1145. 二叉树着色游戏(计算节点个数)

1. 题目

有两位极客玩家参与了一场「二叉树着色」的游戏。游戏中,给出二叉树的根节点 root,树上总共有 n 个节点,且 n 为奇数,其中每个节点上的值从 1 到 n 各不相同。

游戏从「一号」玩家开始(「一号」玩家为红色,「二号」玩家为蓝色),最开始时,

  • 「一号」玩家从 [1, n] 中取一个值 x(1 <= x <= n);

  • 「二号」玩家也从 [1, n] 中取一个值 y(1 <= y <= n)且 y != x。

  • 「一号」玩家给值为 x 的节点染上红色,而「二号」玩家给值为 y 的节点染上蓝色。

之后两位玩家轮流进行操作,每一回合,玩家选择一个他之前涂好颜色的节点,将所选节点一个 未着色邻节点(即左右子节点、或父节点)进行染色。

如果当前玩家无法找到这样的节点来染色时,他的回合就会被跳过。

若两个玩家都没有可以染色的节点时,游戏结束。着色节点最多的那位玩家获得胜利 ✌️。

现在,假设你是「二号」玩家,根据所给出的输入,假如存在一个 y 值可以确保你赢得这场游戏,则返回 true;若无法获胜,就请返回 false。
在这里插入图片描述

输入:root = [1,2,3,4,5,6,7,8,9,10,11], n = 11, x = 3
输出:True
解释:第二个玩家可以选择值为 2 的节点。提示:
二叉树的根节点为 root,树上由 n 个节点,节点上的值从 1 到 n 各不相同。
n 为奇数。
1 <= x <= n <= 100

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

2. 计算节点个数

  • 节点x相邻的3侧(左子,右子,父侧)各有多少节点?
  • 二号玩家只能选择上面最多的一侧进行涂色(邻接着x涂的最多)
class Solution {TreeNode *nodeX = NULL;int X;
public:bool btreeGameWinningMove(TreeNode* root, int n, int x) { X = x;int count = 0, numOfLeft = 0, numOfRight = 0, remaining, maxNodes;preOrder(root,count);//获取x对应的节点地址preOrder(nodeX->left,numOfLeft);//获取x左子的总数preOrder(nodeX->right,numOfRight);//获取右子的总数remaining = n-1-numOfLeft-numOfRight;//剩余的父侧总节点数maxNodes = max(remaining,max(numOfRight,numOfLeft));//最多的一侧return maxNodes > n-maxNodes;//最多的一侧能赢吗?}void preOrder(TreeNode* root, int &num){if(root == NULL)return;if(root->val == X)nodeX = root;num++;preOrder(root->left,num);preOrder(root->right,num);}
};

在这里插入图片描述

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

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

相关文章

常见的时间序列预测模型python实战汇总

最完整的时间序列分析和预测&#xff08;含实例及代码&#xff09;&#xff1a;https://mp.weixin.qq.com/s/D7v7tfSGnoAqJNvfqGpTQA 1 时间序列与时间序列分析 在生产和科学研究中&#xff0c;对某一个或者一组变量 x(t)x(t) ARIMA 模型对时间序列的要求是平稳型。因此&#x…

简单复读机LR如何成为推荐系统精排之锋?

文 | 水哥源 | 知乎saying1. 众所周知&#xff0c; 人类&#xff08;划掉&#xff09;推荐的本质是复读机2. 精排之锋&#xff0c;粗排之柔&#xff0c;召回之厚3. 在推荐里谈“过拟合”很容易给我们造成心理上的松懈&#xff0c;导致我们忽略环境&#xff0c;氛围等多种因素的…

从0到1构建美团压测工具

背景 美团内部的RPC服务大多构建在Thrift之上&#xff0c;在日常开发服务的过程中&#xff0c;需要针对这些服务进行压力测试&#xff08;以下简称压测&#xff09;来发现潜在问题。常用的方法有&#xff1a; 使用一些脚本语言如&#xff1a;Python、Ruby等&#xff0c;读取线上…

论文浅尝 | ERNIE-ViL:从场景图中获取结构化知识来学习视觉语言联合表示

笔记整理&#xff1a;朱珈徵&#xff0c;天津大学硕士链接&#xff1a;https://www.aaai.org/AAAI21Papers/AAAI-6208.YuFei.pdf动机现有的视觉语言预训练方法试图通过在大的图像文本数据集上的视觉基础任务来学习联合表示&#xff0c;包括基于随机掩码子词的掩码语言建模、掩码…

LeetCode 222. 完全二叉树的节点个数(二分查找)

1. 题目 给出一个完全二叉树&#xff0c;求出该树的节点个数。 说明&#xff1a; 完全二叉树的定义如下&#xff1a;在完全二叉树中&#xff0c;除了最底层节点可能没填满外&#xff0c;其余每层节点数都达到最大值&#xff0c;并且最下面一层的节点都集中在该层最左边的若干…

常见的统计分析方法汇总,指标对比分析、时间序列预测

常见的八种统计分析法如下&#xff1a; 指标对比分析法分组分析法时间数列及动态分析法指数分析法平衡分析法综合评价分析景气分析预测分析 1 比较分析法## 一、指标对比分析法指标对比分析法&#xff0c;又称比较分析法&#xff0c;是统计分析中最常用的方法。是通过有关的指…

这三个NLP项目写进简历,网申通过率提高50%

01三大企业级项目项目一京东智能对话系统项目项目简介&#xff1a;智能客服机器人已经成为了客服系统的重要组成部分&#xff0c;帮助人工客服提升工作效率&#xff0c;为企业降低人工成本。作为智能客服的行业先驱&#xff0c;京东多年来致力打造全链路的客服机器人&#xff0…

论文浅尝 | MulDE:面向低维知识图嵌入的多教师知识蒸馏

笔记整理&#xff1a;朱渝珊&#xff0c;浙江大学在读博士&#xff0c;研究方向为快速知识图谱的表示学习&#xff0c;多模态知识图谱。Motivation为了更高的精度&#xff0c;现有的KGE方法都会采用较高的embedding维度&#xff0c;但是高维KGE需要巨大的训练成本和存储空间。现…

LeetCode 453. 最小移动次数使数组元素相等(数学)

1. 题目 给定一个长度为 n 的非空整数数组&#xff0c;找到让数组所有元素相等的最小移动次数。每次移动可以使 n - 1 个元素增加 1。 示例: 输入: [1,2,3]输出: 3 解释: 只需要3次移动&#xff08;注意每次移动会增加两个元素的值&#xff09;&#xff1a;[1,2,3] > [2…

性能优化模式

摘要 性能优化涉及面很广。一般而言&#xff0c;性能优化指降低响应时间和提高系统吞吐量两个方面&#xff0c;但在流量高峰时候&#xff0c;性能问题往往会表现为服务可用性下降&#xff0c;所以性能优化也可以包括提高服务可用性。在某些情况下&#xff0c;降低响应时间、提高…

征稿 | 国际KG大会 IJCKG 2021专辑征文

国际知识图谱联合会议&#xff08;International Joint Conference on Knowledge Graphs (IJCKG 2021, 与ACM/SIGAI联合办会&#xff09;今年将于12月6日-8日在线召开。Data Intelligence今年被EI数据库收录后&#xff0c;有幸成为大会推荐期刊&#xff0c;大会优秀论文将推荐在…

200字带你看完一本书,GPT-3已经会给长篇小说写摘要了

文 | 博雯源 | 量子位现在&#xff0c;AI能帮你200字看完一段12万词的长篇小说了&#xff01;比如这样一段121567词的《傲慢与偏见》原文&#xff1a;▲图源OpenAI官网AI分四个阶段来总结&#xff1a;先把原文总结成276个摘要&#xff08;24796词&#xff09;&#xff0c;然后进…

LeetCode 1252. 奇数值单元格的数目

1. 题目 给你一个 n 行 m 列的矩阵&#xff0c;最开始的时候&#xff0c;每个单元格中的值都是 0。 另有一个索引数组 indices&#xff0c;indices[i] [ri, ci] 中的 ri 和 ci 分别表示指定的行和列&#xff08;从 0 开始编号&#xff09;。 你需要将每对 [ri, ci] 指定的行…

Google Research新成果,让表格理解和检索更上一层楼!

文 | 舞风小兔编 | 智商掉了一地如何更好地理解自然语言查询问题与表格信息&#xff1f;Google Research给出了一个改进版Transformer&#xff0c;一起来看看吧&#xff01;表格以结构化方式存储信息&#xff0c;广泛地存在于web世界中。表格最为常见的一种用法就是人们查询其中…

论文浅尝 | 用于视觉推理的显式知识集成

论文笔记整理&#xff1a;刘克欣&#xff0c;天津大学硕士链接&#xff1a;https://openaccess.thecvf.com/content/CVPR2021/papers/Zhang_Explicit_Knowledge_Incorporation_for_Visual_Reasoning_CVPR_2021_paper.pdf动机现有的可解释的和显式的视觉推理方法仅执行基于视觉证…

美团O2O排序解决方案——线下篇

背景 针对美团90%的交易发生在移动端的业务特点&#xff0c;我们实现了一套适用于O2O业务的搜索排序技术方案&#xff0c;已在许多产品和子行业中得到应用。在之前的线上篇中&#xff0c;我们已经介绍了服务的框架、排序算法等。本文为线下篇&#xff0c;主要讲述数据清洗、特征…

LeetCode 401. 二进制手表

1. 题目 二进制手表顶部有 4 个 LED 代表小时&#xff08;0-11&#xff09;&#xff0c;底部的 6 个 LED 代表分钟&#xff08;0-59&#xff09;。 每个 LED 代表一个 0 或 1&#xff0c;最低位在右侧。 例如&#xff0c;上面的二进制手表读取 “3:25”。 给定一个非负整数 …

EMNLP'21 | 让压缩语言模型自动搜索最优结构!

文 | Cheney编 | 智商掉了一地既让模型跑得快又好&#xff0c;又要空间占用少&#xff0c;真的有这样效果爆表的操作存在吗&#xff1f;在当前疫情反复的情况下&#xff0c;大家平时出门用健康宝刷脸的频率变得越来越高。如果每次人脸识别都需要等很久的话&#xff0c;那也太让…

直播分享丨前沿技术讲习班:知识图谱前沿技术与应用(CIPS ATT27)

本文转载自公众号&#xff1a;智源社区助手。作为大数据时代重要的知识表示方式&#xff0c;知识图谱是人工智能领域构建和应用知识的新阶段&#xff0c;它能够更好地实现大规模数据的认知与推理。同时&#xff0c;知识图谱和深度学习相互协作&#xff0c;是实现具有强鲁棒性、…

美团O2O排序解决方案——线上篇

美团的愿景是连接消费者和商家&#xff0c;而搜索在其中起着非常重要的作用。随着业务的发展&#xff0c;美团的商家和团购数正在飞速增长。这一背景下&#xff0c;搜索排序的重要性显得更加突出&#xff1a;排序的优化能帮助用户更便捷地找到满足其需求的商家和团购&#xff0…