【每日刷题】Day47

【每日刷题】Day47

🥕个人主页:开敲🍉

🔥所属专栏:每日刷题🍍

🌼文章目录🌼

1. 112. 路径总和 - 力扣(LeetCode)

2. 2404. 出现最频繁的偶数元素 - 力扣(LeetCode)

3. 145. 二叉树的后序遍历 - 力扣(LeetCode)

1. 112. 路径总和 - 力扣(LeetCode)

//思路:遍历二叉树。用一个变量将二叉树上一个结点的值相加传给下一个递归,继续加上下一个结点的值,直到加到叶子结点判断是否等于目标值,相等则返回true,否则返回false。如果遇到空直接返回false。

typedef struct TreeNode BT;

//判断是否为叶子结点

bool IsLeafNode(BT* node)

{

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

}


 

//前序遍历

bool PreambleTraverse(BT* node,int targetSum,int sum)

{

    if(node==NULL)

    {

        return false;

    }

    if(IsLeafNode(node))//遇到叶子结点判断值是否等于目标值

    {

        if((sum+node->val)!=targetSum)//不等于返回false

        {

            return false;

        }

        return true;

    }

    return PreambleTraverse(node->left,targetSum,sum+node->val)||PreambleTraverse(node->right,targetSum,sum+node->val);//只要左右子树中有一条路径满足即可

}


 

bool hasPathSum(struct TreeNode* root, int targetSum)

{

    if(root==NULL)

    {

        return false;

    }

    int sum = 0;

    return PreambleTraverse(root,targetSum,sum);

}

2. 2404. 出现最频繁的偶数元素 - 力扣(LeetCode)

//哈希表多次查询。将整数数组中的元素的值作为哈希表的下标,每次该下标处的值+1。遍历哈希表找到出现次数最多的偶数的出现次数。再次遍历哈希表,找到最小的出现次数最多的偶数返回。

int mostFrequentEven(int* nums, int numsSize)

{

    int hash[100001] = {0};

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

    {

        hash[nums[i]]+=1;

    }

    int max = 0;

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

    {

        if(i%2==0)

        {

            max = max>hash[i]?max:hash[i];

        }

    }

    int ans = -1;

    if(max==0)

    {

        return ans;

    }

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

    {

        if(i%2==0&&hash[i]==max)

        {

            ans = i;

            break;

        }

    }

    return ans;

}

3. 145. 二叉树的后序遍历 - 力扣(LeetCode)

//思路:后序遍历:对于每个结点,都满足:左子树、右子树、根 的遍历方式。

void BackTraverse(struct TreeNode* root,int* arr,int* size)

{

    if(root==NULL)

    {

        return;

    }

    BackTraverse(root->left,arr,size);

    BackTraverse(root->right,arr,size);

    arr[(*size)++] = root->val;

}

int* postorderTraversal(struct TreeNode* root, int* returnSize)

{

    int* ans = (int*)malloc(sizeof(int)*101);

    int size = 0;

    BackTraverse(root,ans,&size);

    *returnSize = size;

    return ans;

}

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

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

相关文章

PostgreSQL的版本号规则

PostgreSQL的版本号规则 PostgreSQL 版本号规则在随着时间的推移有所变化&#xff0c;以便更好地反映功能和修补版本的发布。以下是 PostgreSQL 版本号的规则&#xff0c;以及在不同阶段所采用的版本号规范。 版本号规则 从 PostgreSQL 10 开始&#xff0c;版本号采用了 MAJ…

ubuntu20.04安装cmake3.22.1

背景 由于第一套上位机windows clion22 嵌入式ubuntu20.04的开发环境中&#xff0c;ubuntu20.04上安装的是cmake3.22.1, 为了保持一致&#xff0c;需要指定安装的cmake版本。 下载指定版本的cmake 进入cmake官网的download页面&#xff0c;https://cmake.org/download/&…

番外篇 | YOLOv8改进之更换主干网络MobileNetv3 + 添加CA注意力机制

前言:Hello大家好,我是小哥谈。MobileNetv3是一种轻量级网络,采用了深度可分离卷积等轻量化技术,具有较小的模型参数量和计算复杂度,适合在计算能力较弱的设备上运行。本节课就让我们结合论文来对YOLOv8进行组合改进(更换主干网络MobileNetv3 + 添加CA注意力机制),希望…

第06章 数据加载、存储与文件格式

以下内容参考自https://github.com/iamseancheney/python_for_data_analysis_2nd_chinese_version/blob/master/%E7%AC%AC05%E7%AB%A0%20pandas%E5%85%A5%E9%97%A8.md 《利用Python进行数据分析第2版》 用以学习和记录。 输入输出通常可以划分为几个大类&#xff1a;读取文本文…

【Linux学习】进程基础API

下面是有关进程基础API的相关介绍&#xff0c;希望对你有所帮助&#xff01; 小海编程心语录-CSDN博客 目录 1. 僵尸进程与孤儿进程 1.1 孤儿进程 1.2 僵尸进程 2. 监视子进程 2.1 wait() 2.2 waitpid() 3. 执行新程序 exec族函数 4. 守护进程 1. 僵尸进程与孤儿进程…

(5)SK插件

&#xff08;5&#xff09;SK插件 什么是AI插件&#xff1f; 使用人工智能插件的目的是通过利用人工智能能力来增强软件应用程序的功能。人工智能插件可以提供各种功能&#xff0c;如自然语言处理、图像识别、预测分析等。 通过将AI插件集成到应用程序中&#xff0c;您可用为…

通过 Spring 操作 Redis

要想通过 Java 操作 redis&#xff0c;首先要连接上 redis 服务器&#xff0c;推荐看通过 Java 操作 redis -- 连接 redis 创建项⽬ 勾选 NoSQL 中的 Spring Data Redis 当然, 把 Web 中的 Spring Web 也勾选⼀下.⽅便写接进⾏后续测试. 配置 redis 服务地址 在 application.…

基于springboot + vue实现工厂车间管理系统项目演示【附项目源码+论文说明】

基于springboot vue实现工厂车间管理系统演示 摘要 社会发展日新月异&#xff0c;用计算机应用实现数据管理功能已经算是很完善的了&#xff0c;但是随着移动互联网的到来&#xff0c;处理信息不再受制于地理位置的限制&#xff0c;处理信息及时高效&#xff0c;备受人们的喜…

PasteSpider更新摘要(持续更新... .. .)

写在前面 PasteSpider整个项目分为三大块PasteSpider(主端我称为API(.net 6.0)),PasteSpiderWeb(后台管理端(js,html,css)),PasteSpiderFile(文件同步端(.net6.0)&#xff0c;一键部署&#xff0c;差量同步等就是用他&#xff0c;不然每次升级要打开网站后台很麻烦的&#xff…

springboot+jsp校园理发店美容美发店信息管理系统0h29g

前台管理:会员管理、会员预定、开单点单、收银结帐、技师提成 后台管理:数据维护、物料管理、数据查询、报表分析、系统设置等 灵活的付款方式&#xff0c;支持现金、挂帐、会员卡&#xff0c;同时支持多种折扣方式并可按用户要求设置多种结帐类型善的充值卡管理模块:支持优惠卡…

大创项目推荐 深度学习手势识别 - yolo python opencv cnn 机器视觉

文章目录 0 前言1 课题背景2 卷积神经网络2.1卷积层2.2 池化层2.3 激活函数2.4 全连接层2.5 使用tensorflow中keras模块实现卷积神经网络 3 YOLOV53.1 网络架构图3.2 输入端3.3 基准网络3.4 Neck网络3.5 Head输出层 4 数据集准备4.1 数据标注简介4.2 数据保存 5 模型训练5.1 修…

某东-绑卡

声明 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01;wx a15018601872 本文章未…

【文末附gpt升级方案】AIGC(人工智能):技术革命与人类未来的深度解析

AIGC&#xff08;人工智能&#xff09;&#xff1a;技术革命与人类未来的深度解析 摘要&#xff1a;随着科技的不断进步&#xff0c;人工智能&#xff08;AI&#xff09;已成为现代社会的重要支柱。其中&#xff0c;AIGC&#xff08;Artificial Intelligence Generated Conten…

Qt5 互动地图,实现无人机地面站效果

一、概述 本文主要通过Qt5opmapcontrol实现一个简单的无人机地面站效果。opmapcontrol是一个比较古老的QT开源地面站库&#xff0c;可选择谷歌地图&#xff0c;必应地图&#xff0c; 雅虎地图&#xff0c;GIS等。可直接使用源码&#xff0c;也可以编译生成库进行调用。实现效果…

Mujoco仿真【xml文件的学习 2】

承接上一篇的博客&#xff1a;Mujoco仿真【xml文件的学习 1】-CSDN博客 我们继续来学习Mujoco仿真中的xml文件&#xff0c;哦豁&#xff0c;gogogo&#xff01; 给出这次的xml文件案例【bimanual_viperx_transfer_cube.xml】&#xff1a; <mujoco><include file&qu…

EventSource 在项目中常用的两种方式

一、认识EventSource EventSource&#xff08;也称为Server-Sent Events&#xff0c;简称SSE&#xff09;是HTML5中的一种新的API&#xff0c;用于实现服务器端向客户端推送事件。其数据主要基于HTTP协议进行传输&#xff0c;并且数据帧必须编码成UTF-8的格式。 eventSource…

本地电子邮件测试工具-MailHog

通过MailHog&#xff0c;可以在浏览器中查看本机发的邮件内容&#xff0c;而无需发送到外网。 https://github.com/mailhog/MailHog在 macOS 环境下&#xff0c;下载文件后: 添加可执行权限:chmod x MailHog_darwin_amd64 运行:./MailHog_darwin_amd64 浏览器打开查看邮件:htt…

LitCTF

[LitCTF 2023]enbase64 base 64 里面有一个换表的函数 写代码 #include<stdio.h> #include<string.h> #include<stdlib.h> int main() {char *result; char Destination[65]; int v3[65];int j;int i; char Source[]"ABCDEFGHIJKLMNOPQRSTUVWXYZabcde…

【Python设计模式15】适配器模式

适配器模式&#xff08;Adapter Pattern&#xff09;是一种结构型设计模式&#xff0c;它允许将一个类的接口转换成客户希望的另一个接口。适配器模式使得原本由于接口不兼容而无法一起工作的类能够一起工作。通过使用适配器模式&#xff0c;可以使得现有的类能够适应新的接口需…

打造高效安全新标杆:智慧楼宇视频智能管理系统的建设探索

大数据、人工智能、5G等技术在城市中的不同应用也让人们看到了数字化和智能化技术赋予城市管理的巨大潜力&#xff0c;为更多城市数字化应用场景的发展带来机遇。在新基建的大背景下&#xff0c;人工智能、物联网等先进技术与基础设施的深度融合&#xff0c;将大力推进电网、楼…