【每日刷题】Day64

【每日刷题】Day64

🥕个人主页:开敲🍉

🔥所属专栏:每日刷题🍍

🌼文章目录🌼

1. LCP 67. 装饰树 - 力扣(LeetCode)

3. 1315. 祖父节点值为偶数的节点和 - 力扣(LeetCode)

3. LCP 44. 开幕式焰火 - 力扣(LeetCode)

1. LCP 67. 装饰树 - 力扣(LeetCode)

//100%思路:类似链表插入结点的思路。深度优先遍历二叉树,当为空或遇到叶子结点时返回。判断当前非叶子结点左、右孩子是否为空,创建一个存储的值为-1的新结点,将其类似链表插入结点的形式插入到父结点与左、右孩子结点之间。

typedef struct TreeNode TN;

//判断是否为叶子结点

bool IsLeafNode(TN* root)

{

    return !root->left&&!root->right;

}


 

void _expandBinaryTree(TN* root)

{

//遍历到空或叶子结点直接返回,不需要插入装饰

    if(!root||IsLeafNode(root))

        return;

    if(root->left&&root->val!=-1)//左孩子与其父亲节点间插入装饰(注意这里遍历时需要跳过插入的装饰)

    {

        TN* node = (TN*)malloc(sizeof(TN));

        node->val = -1;

        node->left = root->left;

        node->right = NULL;

        root->left = node;

    }

    if(root->right&&root->val!=-1)//同上

    {

        TN* node = (TN*)malloc(sizeof(TN));

        node->val = -1;

        node->right = root->right;

        node->left = NULL;

        root->right = node;

    }

//先序遍历

    _expandBinaryTree(root->left);

    _expandBinaryTree(root->right);

}


 

struct TreeNode* expandBinaryTree(struct TreeNode* root)

{

    _expandBinaryTree(root);

    return root;

}

3. 1315. 祖父节点值为偶数的节点和 - 力扣(LeetCode)

//思路:深度优先遍历。遍历二叉树,遇到值为偶数的结点时,以该结点为根结点看作一棵树,算出其第2层的结点值的和返回。

typedef struct TreeNode TN;


//计算第k层结点值的和

int BinaryTreeKNum(TN* root,int k)

{

    if(!root)

        return 0;

    if(k==0)

        return root->val;

    return BinaryTreeKNum(root->left,k-1)+BinaryTreeKNum(root->right,k-1);

}

void _sumEvenGrandparent(TN* root,int* ans)

{

    if(!root)

        return;

    if((root->val)%2==0)//遇到值为偶数的结点,算出其孙子结点值的和

        (*ans)+=BinaryTreeKNum(root,2);

//深度优先遍历

    _sumEvenGrandparent(root->left,ans);

    _sumEvenGrandparent(root->right,ans);

}

int sumEvenGrandparent(struct TreeNode* root)

{

    int ans = 0;

    _sumEvenGrandparent(root,&ans);

    return ans;

}

3. LCP 44. 开幕式焰火 - 力扣(LeetCode)

//思路:深度优先遍历+哈希表。遍历二叉树,以二叉树结点的值为key,将哈希表key位置的val该为1。遍历哈希表,计算1的数量。

typedef struct TreeNode TN;

void _numColor(TN* root,int* hash)

{

    if(!root)

        return;

    hash[root->val] = 1;//以root->val为key,val为1

    _numColor(root->left,hash);

    _numColor(root->right,hash);

}

int numColor(struct TreeNode* root)

{

    int hash[1001] = {0};

    int ans = 0;

    _numColor(root,hash);

    for(int i = 0;i<1001;i++)

    {

        if(hash[i])//计算1的数量

            ans++;

    }

    return ans;

}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

PyQT5 中关于 QCheckBox 的勾选状态的一点小细节

一、QCheckBox 是 PyQt5 中的一个用于创建复选框的控件&#xff0c;以下是其一些常见方法和属性&#xff1a; setChecked: 设置复选框的选中状态。isChecked: 检查复选框是否被选中。text: 设置或获取复选框的文本。state: 获取复选框的状态&#xff08;无、选中、不可用等&am…

公差基础-配合(互换性和测量基础)-2

过盈配合&#xff1a; 配合的种类&#xff1a; 三种&#xff1a;间隙&#xff0c;过渡&#xff0c;过盈配 间隙配合&#xff1a; 过盈配合&#xff1a; 过渡配合&#xff1a; 间隙量&#xff1a;最大间隙减去最小间隙&#xff1b; 配合的公差怎么算&#xff1a; 练习&#xff…

Git 代码管理规范 !

分支命名 master 分支 master 为主分支&#xff0c;也是用于部署生产环境的分支&#xff0c;需要确保master分支稳定性。master 分支一般由 release 以及 hotfix 分支合并&#xff0c;任何时间都不能直接修改代码。 develop 分支 develop 为开发环境分支&#xff0c;始终保持最…

如何在 Go 应用程序中使用检索增强生成(RAG)

本文将帮助大家实现 RAG &#xff08;使用 LangChain 和 PostgreSQL &#xff09;以提高 LLM 输出的准确性和相关性。 得益于强大的机器学习模型&#xff08;特别是由托管平台/服务通过 API 调用公开的大型语言模型&#xff0c;如 Claude 的 LLama 2等&#xff09;&#xff0c…

创邻科技张晨:期待解锁图技术在供应链中的关联力

近日&#xff0c;创邻科技创始人兼CEO张晨博士受浙江省首席信息官协会邀请&#xff0c;参加数字化转型与企业出海研讨会。 此次研讨会旨在深入探讨数字经济时代下&#xff0c;企业如何有效应对成本提升与环境变化所带来的挑战&#xff0c;通过数字化转型实现提效增益&#xff…

解决 Visual C++ 17.5 __cplusplus 始终为 199711L 的问题

目录 软件环境问题描述查阅资料解决问题参考文献 软件环境 Visual Studio 2022, Visual C, Version 17.5.4 问题描述 在应用 https://github.com/ToniLipponen/cpp-sqlite 的过程中&#xff0c;发现源代码文件 sqlite.hpp 中&#xff0c;有一处宏&#xff0c;和本项目的 C L…

R语言数据分析案例27-使用随机森林模型对家庭资产的回归预测分析

一、研究背景及其意义 家庭资产分析在现代经济学中的重要性不仅限于单个家庭的财务健康状况&#xff0c;它还与整个经济体的发展紧密相关。家庭资产的增长通常反映了国家经济的整体增长&#xff0c;而资产分布的不均则暴露了经济不平等的问题。因此&#xff0c;全球视角下的家…

好像也没那么失望!SD3玩起来,Stable Diffusion 3工作流商业及广告设计(附安装包)

今天基于SD3 base 工作流来尝试进行下广告设计&#xff0c;这要是一配上设计文案&#xff0c;视觉感就出来了。下面来看看一些效果展示~ SD3 Medium模型及ComfyUI工作流下载地址&#xff1a;文末领取&#xff01; 1.清凉夏日——西瓜音乐会 提示词&#xff1a; a guitar wi…

基于springboot实现火锅店管理系统项目【项目源码+论文说明】

基于springboot实现火锅店管理系统演示 摘要 传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&#xff0c;在计算机上安装火锅店管理系统软件来…

LabVIEW软件开发任务的工作量估算方法

在开发LabVIEW软件时&#xff0c;如何准确估算软件开发任务的工作量。通过需求分析、功能分解、复杂度评估和资源配置等步骤&#xff0c;结合常见的估算方法&#xff0c;如专家判断法、类比估算法和参数估算法&#xff0c;确保项目按时按质完成&#xff0c;提供项目管理和资源分…

机器学习笔记 - 用于3D点云数据分类的Point Net的训练

一、数据集 ShapeNet 是一项持续不断的努力,旨在建立一个注释丰富的大型 3D 形状数据集。我们为世界各地的研究人员提供这些数据,以支持计算机图形学、计算机视觉、机器人技术和其他相关学科的研究。ShapeNet 是普林斯顿大学、斯坦福大学和 TTIC 研究人员的合作成果。 Shape…

Vue43-单文件组件

一、脚手架的作用 单文件组件&#xff1a;xxx.vue&#xff0c;浏览器不能直接运行&#xff01;&#xff01;&#xff01; 脚手架去调用webpack等第三方工具。 二、vue文件的命名规则 建议用下面的两种方式。&#xff08;首字母大写&#xff01;&#xff01;&#xff01;&#x…

思维+暴力,CF992D - Nastya and a Game

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 992D - Nastya and a Game 二、解题报告 1、思路分析 这个题题目很吓人 因为看起来前缀和根本存不下&#xff0c;似乎没法算 这也提示我们似乎只需在小范围内枚举求解即可 题目的P / K SUM也保证了我们…

Mac M3 Pro安装Hadoop-3.3.6

1、下载Hadoop安装包 可以到官方网站下载&#xff0c;也可以使用网盘下载 官网下载地址&#xff1a;Hadoop官网下载地址 网盘地址&#xff1a;https://pan.baidu.com/s/1p4BXq2mvby2B76lmpiEjnA?pwdr62r提取码: r62r 2、解压并添加环境变量 # 将安装包移动到指定目录 mv …

北斗三代一体式数传终端短报文

北斗三代一体式数传终端短报文M20C-V30针对船载通信和导航应用推出的一款支持北斗 RDSS/RNSS 功能的船载一体机。北斗数传终端内部集成了北斗多频天线、射频、基带以及主控等功能单元&#xff0c;可实现 RDSS 定位、短报文通信和 RNSS 导航定位等功能。M20C-V30型北斗数传终端体…

11.3 Go 标准库的使用技巧

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

Redis通用命令

Redis是一种高性能的开源内存数据结构存储&#xff0c;用作数据库、缓存和消息代理。它支持多种数据结构&#xff0c;如字符串&#xff08;strings&#xff09;、哈希&#xff08;hashes&#xff09;、列表&#xff08;lists&#xff09;、集合&#xff08;sets&#xff09;及有…

CAPL通过addTimeToMeasurementStartTime或者getLocalTime获取本地时间

文章目录 getLocalTimeaddTimeToMeasurementStartTimegetLocalTime long tm[9]; getLocalTime(tm); // now tm contains the following entries: // tm[0] = 3; (seconds) // tm[1] = 51; (minutes) // tm[2] = 16; (hours)

普通LED显示屏与柔性LED显示屏如何选择?

在数字化时代的浪潮中&#xff0c;LED显示屏作为信息展示的重要媒介&#xff0c;其市场发展迅速&#xff0c;产品种类也日益丰富。面对普通LED显示屏与柔性LED显示屏两种选择&#xff0c;消费者和企业常常陷入纠结。那么&#xff0c;究竟该如何选择呢&#xff1f;让我们来深入探…

(done) 什么是 perplexity 困惑度?

参考&#xff1a;https://www.youtube.com/watch?vB_2bntDYano 困惑度 perplexity 是一种用来衡量语言模型性能的度量&#xff0c;类似于交叉熵。 困惑度越低越好&#xff0c;越低说明一个模型越好。 一个典型的公式在下面&#xff1a;