当前位置: 首页 > news >正文

【每日刷题】Day96

【每日刷题】Day96

🥕个人主页:开敲🍉

🔥所属专栏:每日刷题🍍

🌼文章目录🌼

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

2. 1022. 从根到叶的二进制数之和 - 力扣(LeetCode)

3. 563. 二叉树的坡度 - 力扣(LeetCode)

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

//思路:记数+递归。这个题目之前用C刷过,现在用C++复写一遍。

class Solution {

public:

    void _numColor(TreeNode* root,int* hash,int& ans)

    {

//遍历到空返回

        if(!root)

            return;

//如果当前焰火颜色没有被记录过,则焰火颜色种类+1

        if(!hash[root->val])

            ans++;

//将遍历到的每一个焰火颜色记录,防止重复

        hash[root->val]+=1;

        _numColor(root->left,hash,ans);

        _numColor(root->right,hash,ans);

    }

    int numColor(TreeNode* root)

    {

        int ans = 0;

        int hash[1001] = {0};

        _numColor(root,hash,ans);

        return ans;

    }

};

2. 1022. 从根到叶的二进制数之和 - 力扣(LeetCode)

//思路:递归+模拟栈。

//题目要求我们将树的每一条分支看作一个二进制数字,将所有分支的二进制数字的和返回。

//那么我们如何求得每一条分支的二进制数字呢?

//首先我们想到的是采用先序遍历的方法去遍历每一条分支,但是这里就有一个问题:我们如何区分不同分支代表的二进制数字呢?

//这里我们采用栈的数据结构来解决这个问题,我们画图理解:

//这里又会有一个问题,当我们遍历完当前分支后,如何将栈顶数据推出呢?

//其实非常简单,我们只需要利用形参的特性就行了,看下面的实现代码。

class Solution {

public:

//判断是否为叶子节点

    bool IsLeafNode(TreeNode* root)

    {

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

    }

//注意到,这里的count我用的是形参,因为每次递归都会创建一个新的函数栈帧以存储当前的递归函数,因此每一个count都是独一无二的,比如上一层的count是1,这一层的count是2,当我们当前函数结束返回时,会返回到上一层的函数使用上一层的count也就是1,利用这个特性我们就能很好的实现不断更新栈顶数据。

    void _sumRootToLeaf(TreeNode* root,int* Stack,int count,int& ans)

    {

//如果为空直接返回

        if(!root)

            return;

//不为空则将当前val入栈

        Stack[count] = root->val;

//如果为叶子节点则开始计算

        if(IsLeafNode(root))

        {

//次方

            int flag = 0;

//从栈顶往栈底计算

            for(int i = count;i>=0;i--)

            {

                ans+=pow(Stack[i]*2,flag);

//特殊处理0^0 = 1

                if(!Stack[i]&&!flag)

                    ans-=1;

                flag++;

            }

            return;

        }

//线序遍历

        _sumRootToLeaf(root->left,Stack,count+1,ans);

        _sumRootToLeaf(root->right,Stack,count+1,ans);

    }

    int sumRootToLeaf(TreeNode* root)

    {

        int Stack[1001] = {0};

        int ans = 0;

        _sumRootToLeaf(root,Stack,0,ans);

        return ans;

    }

};

3. 563. 二叉树的坡度 - 力扣(LeetCode)

//思路:先序遍历+求和返回。

class Solution {

public:

    int _findTilt(TreeNode* root,int& ans)

    {

//空节点坡度为0

        if(!root)

            return 0;

//计算左子树的和

        int ret1 = _findTilt(root->left,ans);

//计算右子树的和

        int ret2 = _findTilt(root->right,ans);

//求坡度并相加

        ans+=abs(ret1-ret2);

//返回左右子树的和+当前节点的val

        return ret1+ret2+root->val;

    }

    int findTilt(TreeNode* root)

    {

        int ans = 0;

        _findTilt(root,ans);

        return ans;

    }

};

相关文章:

【每日刷题】Day96

【每日刷题】Day96 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. LCP 44. 开幕式焰火 - 力扣(LeetCode) 2. 1022. 从根到叶的二进制数之和 - …...

EGO-Swarm 仿真环境搭建

EGO-Swarm仿真环境搭建 参考教程: https://github.com/ZJU-FAST-Lab/ego-planner-swarm EGO-Swarm是一种分散的异步系统解决方案,用于仅使用机载资源在未知的障碍物丰富的场景中进行多机器人自主导航。 1. 查看系统环境 要运行本仿真程序&#xff0c…...

【EI会议征稿通知】第九届计算机技术与机械电气工程国际学术论坛(ISCME 2024)

会议官网:www.is-cme.com 一轮截稿时间:2024年8月16日(早投稿,早录用) 大会时间:2024年11月8-10日 大会地点:中国 南京 接受/拒稿通知:投稿后1-2周 收录检索:EI Compend…...

【starRocks-docker 部署问题汇总】

Starrocks系列文章目录 例如:starrocks 常见问题汇总 文章目录 Starrocks系列文章目录前言一、Starrocks-be运行一段时间后,容器无法restart?二、等待后续跟新 前言 starrocks基于docker-compose部署的3节点分布式(3FE,3BE),遇到的问题也都…...

threejs中,如何检测一个模型周边一定范围内的其它模型

在Three.js中,要检测一个模型(我们可以称之为“主体模型”)周边一定范围内的其他物体,你可以通过以下步骤来实现: 1、定义检测范围: 首先,确定你需要检测的范围,这通常是一个以主体…...

UDP端口可达性检测(端口扫描)工具开发

UDP端口可达性检测(端口扫描)工具开发 1、应用场景分析 主机X与主机Y部署在AB双网环境下,两个主机间通过UDP协议进行数据交互。应用程序发送数据时,优先使用A网发送数据,如果A网异常则通过B网发送数据。两个主机应用间没有设置心跳帧 &…...

第三届计算、通信、感知与量子技术国际会议(CCPQT 2024)会议通知

会议信息 大会官网:http://www.ccpqt.org/ 官方邮箱:ccpqt_paper126.com 会议地点:中国珠海 会议时间:2024年10月25日-10月27日 主讲嘉宾 Prof. Trung Q. Duong IEEE Fellow and AAIA Fellow Memorial University of Newfoundl…...

Qt文件读写

Qt中文件读写类简述 包含头文件#include <QFile> 读写模式如下 枚举 文件读写步骤 1 先使用string 类型来接受打开文件的返回值 QFileDialog::getOpenFileName(this,"文件","./"); //打开一个文件 2 构建文件对象 Qfile ff (qstring)接受打…...

发现了一套超厉害的英语资料,绝对YYDS

昨某节目主持人与我闲聊英语学习的事情。 她工作数年&#xff0c;希望提升英文资讯的阅读能力。她主持的是中文节目&#xff0c;但节目对个人的知识广度和深度要求颇高。 现在的知识又太泛太杂&#xff0c;你需要了解国外最新资讯&#xff0c;多获得一手资料&#xff0c;面对节…...

C# new关键字作用

在C#中&#xff0c;当子类定义了与父类同名的字段或者方法时&#xff0c;可以使用new关键字进行隐藏。使用new和不使用new关键字的区别主要在于如何处理字段的隐藏和可访问性。 讲人话就是&#xff0c;假设父类的字段或方法&#xff0c;子类是可以直接访问的&#xff08;publi…...

Python代码之特征工程基础

1. 什么是特征工程 特征工程是指从原始数据中提取、转换和创建适合于模型训练的数据特征的过程。它是机器学习和深度学习中非常重要的一步&#xff0c;因为好的特征工程可以显著提高模型的性能。特征工程涉及从数据中提取有意义的信息&#xff0c;并将其转换为模型可以理解和使…...

低代码平台:效率利器还是质量妥协?

目录 低代码平台&#xff1a;效率利器还是质量妥协&#xff1f; 一、引言 二、低代码平台的定义和背景 1、什么是低代码平台&#xff1f; 2、低代码平台的兴起 三、低代码开发的机遇 1、提高开发效率 2、降低开发成本 3、赋能业务人员 四、低代码开发的挑战 1、质量…...

大数据-Big Data

1. 简介 1.1. 主要特点 大数据(Big Data)是指规模巨大、复杂多变的数据集合,这些数据集来源于多个不同的源,包括社交媒体、移动设备、物联网、传感器等。大数据的主要特点如下: 数据量大(Volume):大数据的起始计量单位是PB(1024TB)、EB(1024PB,约100万TB)或ZB(…...

Redis的持久化的策略

Redis的持久化的策略 官方文档说明 AOF持久化策略RDB持久化的策略 AOF持久化策略 AOF持久性记录服务器接收到的每个写操作&#xff0c;然后&#xff0c;可以在服务器启动时再次重播这些操作&#xff0c;重建原始数据集&#xff0c;使用与Redis协议本身相同的格式记录命令。…...

【八】Zookeeper3.7.1集成Hadoop3.3.4集群安装

文章目录 1.基本原理2.下载并解压ZooKeeper3.配置环境变量4.配置ZooKeeper5.创建数据目录并初始化myid6.启动ZooKeeper7.配置ZooKeeper集成到Hadoop8.重启Hadoop9.ZooKeeper状态检查 1.基本原理 ZooKeeper 是一个分布式协调服务&#xff0c;用于分布式系统中管理配置信息、命名…...

【C/C++笔记】:易错难点3 (二叉树)

选择题 &#x1f308;eg1 一棵有15个节点的完全二叉树和一棵同样有15个节点的普通二叉树&#xff0c;叶子节点的个数最多会差多少个&#xff08;&#xff09;&#xff1f; 正确答案&#xff1a; C A. 3 B. 5 C. 7 D. 9 解析&#xff1a;普通二叉树的叶子节…...

一篇文章解决Webpack

一&#xff1a;什么是webpack webpack是一个用于现代JavaScript应用程序的静态模块打包工具。本质是一个软件包&#xff0c; 静态模块包括以下&#xff1a;html、css、js、图片等固定内容的文件 二&#xff1a;webpack工作原理 当 webpack 处理应用程序时&#xff0c;它会在内…...

速盾:cdn如何解析php文件中的图片?

CDN&#xff08;Content Delivery Network&#xff09;是一种通过分布在全球各地的服务器来加速网络内容传输的技术。CDN通过将内容缓存在离用户最近的服务器上&#xff0c;提供更快的访问速度和更好的用户体验。在解析PHP文件中的图片时&#xff0c;CDN可以起到以下几个方面的…...

如何快速实现MODBUS TCP转Profinet——泗博网关EPN-330

泗博网关EPN-330可作为PROFINET从站&#xff0c;支持与西门子S7-200 SMART/300/400/1200/1500全系列PLC以及具有PROFINET主站的系统无缝对接&#xff0c;而Modbus TCP端&#xff0c;可以与Modbus TCP从站设备、主站PLC、DCS系统以及组态软件等进行数据交互。 通过EPN-330&…...

什么是实时数据仓库?它有哪些不可替代之处?

【实时数据仓库】可以分开来理解&#xff1a; ✅【实时数据】&#xff1a;即能够快速处理数据&#xff0c;且几乎无延迟的提供最新的数据的能力。 ✅【仓库管理】&#xff1a;可以理解为对仓库的库存控制、对仓库的存储优化以及协调物流。 那么实时数据仓库就是&#xff1a;…...

终极指南:如何用虎符台轻松管理全面战争MOD,告别游戏崩溃烦恼

终极指南&#xff1a;如何用虎符台轻松管理全面战争MOD&#xff0c;告别游戏崩溃烦恼 【免费下载链接】legion-seal 虎符台/Legion Seal&#xff0c;全面战争游戏MOD管理器&#xff0c;技术栈&#xff1a;Tauri 2 Vue TailwindCSS 项目地址: https://gitcode.com/zeyl/legi…...

2026 InnoCIM 存算一体高校挑战赛报名详情>>

2026 InnoCIM 存算一体高校挑战赛报名正式开启&#xff01;扫描图中二维码或点击阅读原文即刻报名。报名截止至6月30日&#xff0c;快来组队吧&#xff01;...

YOLO-Master 与 YOLO 开始嫡

AI Agent 时代的沙箱需求 从 Copilot 到 Agent&#xff1a;执行能力的质变 在生成式 AI 的早期阶段&#xff0c;应用主要以“Copilot”形式存在&#xff0c;AI 仅作为辅助生成建议。然而&#xff0c;随着 AutoGPT、BabyAGI 以及 OpenAI Code Interpreter&#xff08;现为 Advan…...

从卫星影像到土壤侵蚀图:ArcGIS栅格计算实战全记录(含Pikachu靶场同款数据)

从卫星影像到土壤侵蚀图&#xff1a;ArcGIS栅格计算全流程实战指南 当Landsat卫星以每秒7公里的速度掠过地球表面时&#xff0c;它的传感器正在捕捉从可见光到红外波段的电磁波信息。这些看似抽象的数字背后&#xff0c;隐藏着解读地表植被覆盖与土壤侵蚀状况的密码。作为环境评…...

3个理由告诉你,为什么Mac用户需要Turbo Boost Switcher这个终极性能控制工具

3个理由告诉你&#xff0c;为什么Mac用户需要Turbo Boost Switcher这个终极性能控制工具 【免费下载链接】Turbo-Boost-Switcher Turbo Boost disabler / enable app for Mac OS X 项目地址: https://gitcode.com/gh_mirrors/tu/Turbo-Boost-Switcher Turbo Boost Switc…...

Win11Debloat:系统焕新提速神器的全方位优化方案

Win11Debloat&#xff1a;系统焕新提速神器的全方位优化方案 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter and customi…...

Win11Debloat:轻量高效的Windows系统优化开源工具

Win11Debloat&#xff1a;轻量高效的Windows系统优化开源工具 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter and custom…...

NCM音频文件终极解密指南:3步解锁网易云音乐,实现跨设备自由播放

NCM音频文件终极解密指南&#xff1a;3步解锁网易云音乐&#xff0c;实现跨设备自由播放 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 你是否曾为网易云音乐的NCM加密文件而烦恼&#xff1f;下载的音乐只能在特定设备播放&#xf…...

最新短网址系统源码 分用户链接

内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示一、详细介绍 最新短网址系统源码 分用户链接 简单介绍一下这个短链接源码&#xff0c;这个是我根据自己需要自建的&#xff0c;偏向于个人需求的完成 说一下特点吧&#xff0c;短链接格式如同https://域名/0810a7/t…...

Java静态镜像内存优化实战手册(含GC策略调优+SubstrateVM内存布局图解)

第一章&#xff1a;Java静态镜像内存优化全景概览Java静态镜像&#xff08;Static Image&#xff09;是GraalVM原生镜像&#xff08;Native Image&#xff09;技术演进的重要方向&#xff0c;它将Java应用在构建时完成类加载、字节码解析、即时编译与内存布局固化&#xff0c;生…...