【每日刷题】Day70

【每日刷题】Day70

🥕个人主页:开敲🍉

🔥所属专栏:每日刷题🍍

🌼文章目录🌼

1. 922. 按奇偶排序数组 II - 力扣(LeetCode)

2. 905. 按奇偶排序数组 - 力扣(LeetCode)

3. 515. 在每个树行中找最大值 - 力扣(LeetCode)

1. 922. 按奇偶排序数组 II - 力扣(LeetCode)

//思路:归并。将数组中奇、偶数分别存储进两个数组,随后根据i的奇偶性从两个数组中拿取数据。

int* sortArrayByParityII(int* nums, int numsSize, int* returnSize)

{

    int even[10001] = {0};//偶数数组

    int count1 = 0;

    int odd[10001] = {0};//奇数数组

    int count2 = 0;

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

    {

        if(nums[i]%2==0)

            even[count1++] = nums[i];

        else

            odd[count2++] = nums[i];

    }

    int flag1 = 0;

    int flag2 = 0;

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

    {

        if(i%2==0)

            nums[i] = even[flag1++];

        else

            nums[i] = odd[flag2++];

    }

    *returnSize = numsSize;

    return nums;

}

2. 905. 按奇偶排序数组 - 力扣(LeetCode)

//思路:归并。与上一题类似。

int* sortArrayByParity(int* nums, int numsSize, int* returnSize)

{

    int even[5002] = {0};

    int count1 = 0;

    int odd[5002] = {0};

    int count2 = 0;

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

    {

        if(nums[i]%2==0)

            even[count1++] = nums[i];

        else

            odd[count2++] = nums[i];

    }

    int flag1 = 0;

    int flag2 = 0;

    while(flag1<count1)

    {

        nums[flag1] = even[flag1];

        flag1++;

    }

    int begin = flag1;

    while(flag2<count2)

    {

        nums[begin++] = odd[flag2];

        flag2++;

    }

    *returnSize = numsSize;

    return nums;

}

3. 515. 在每个树行中找最大值 - 力扣(LeetCode)

//思路:深度优先遍历。首先求出二叉树的最大深度,用于判断需要循环多少次。在每次循环中,我们让i的值作为我们所要求的第i层的最大值,采用深度优先遍历遍历到第i层,创建一个max变量,用于记录最大值,随后记录在答案数组中。

typedef struct TreeNode TN;


//判断是否为叶子结点

bool IsLeafNode(TN* root)

{

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

}

//求二叉树最大深度

int TreeHigh(TN* root)

{

    if(!root)

        return 0;

    if(IsLeafNode(root))

        return 1;

    int left = TreeHigh(root->left);

    int right = TreeHigh(root->right);

    return 1+(left>right?left:right);

}

//求第K层的最大值

void Max(TN* root,int k,int* max)

{

    if(!root)

        return;

    if(k==1)//K==1说明当前层为所求层

    {

        (*max) = (*max)>(root->val)?(*max):root->val;//记录max,直接返回

        return;

    }

//深度优先遍历

    Max(root->left,k-1,max);

    Max(root->right,k-1,max);

}

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

{

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

    int count = 0;

    int high = TreeHigh(root);

    for(int i = 1;i<=high;i++)//循环次数为要求层数

    {

        int max = -2147483648;

        Max(root,i,&max);

        ans[count++] = max;

    }

    *returnSize = count;

    return ans;

}

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

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

相关文章

CSS--超出就显示滚动条并设置滚动条的样式

原文网址&#xff1a;CSS--超出就显示滚动条并设置滚动条的样式_IT利刃出鞘的博客-CSDN博客 简介 本文介绍HTML如何超出就显示滚动条并设置滚动条的样式。 超出就显示滚动条 方法如下&#xff1a; 第一步&#xff1a;设置父容器的高度&#xff08;height或者max-height&am…

Bigtable的数据结构

Bigtable的数据结构 1. 表&#xff08;Table&#xff09; 基本单位&#xff1a;Bigtable存储数据的基本单位是表&#xff0c;一个表由多行组成。无限制&#xff1a;表可以非常大&#xff0c;理论上没有大小限制。 2. 行&#xff08;Row&#xff09; 行键&#xff1a;每一行…

GeoServer安装启动

GeoServer 使用 servlet 容器&#xff08;例如Apache Tomcat&#xff09;打包为独立的 Java web 应用程序。以下说明专门针对 Tomcat。它可能不适用于其他容器应用程序。 在 Tomcat 上安装 导航到GeoServer 下载页面。从“已存档”中&#xff0c;选择最新的 2.18.x 版本的 GeoS…

Python12 列表推导式

1.什么是列表推导式 Python的列表推导式&#xff08;list comprehension&#xff09;是一种简洁的构建列表&#xff08;list&#xff09;的方法&#xff0c;它可以从一个现有的列表中根据某种指定的规则快速创建一个新列表。这种方法不仅代码更加简洁&#xff0c;执行效率也很…

iOS 17.6养老版发布,旧机必升?

iOS 17.6 的第一个开发者测试版已发布&#xff0c;另外还发布了macOS 14.6、watchOS 10.6、iPadOS 17.6 等。 苹果iOS系统更新一直是科技爱好者和用户关注的焦点&#xff0c;尤其是在iOS18的测试阶段&#xff0c;其吸引力尤为显著。尽管苹果同时推送了iOS17.6 Beta1&#xff0c…

linux 如何判断磁盘是HDD还是SSD

本文主要是判断磁盘是 HDD 还是不上 HDD&#xff0c;只用于直通盘的判断&#xff0c;raid盘不在内 方法一、 使用lsblk 命令判断 # 仅查看物理盘的名称、空间大小、SSD(0)? HDD(1)?, 设备供应商以及状态。 [integraTorsctyunos ~]$ lsblk -d -o NAME,SIZE,ROTA,VENDOR,STATE…

kimi+的+能为论文写作+出什么?我帮你试过了!

学境思源&#xff0c;一键生成论文初稿&#xff1a; AcademicIdeas - 学境思源AI论文写作 Kimi是月之暗面科技有限公司开发的个性化智能助手功能。相比kimi&#xff0c;Kimi能够提供个性化定制服务&#xff0c;根据用户特定需求提供更专业深入的辅助&#xff0c;实现一对一的智…

多线程(总结黑马程序员)

一、什么是线程&#xff1f; 是一个程序内部的一条执行流程 多线程是什么&#xff1f; 多条线程由CPU负责调度执行 多线程的创建方式一&#xff1a;继承Thread类 //1.继承Thread类 public class MyThread extends Thread {//2.必须重写run方法Overridepublic void run() {…

人工智能之AI作画

AI作画&#xff08;AI-generated Art&#xff09;是指利用人工智能技术来创作艺术作品的过程。随着深度学习和生成模型的发展&#xff0c;AI作画已经在艺术界和技术界引起了广泛关注和研究。从专业角度来看&#xff0c;AI作画涉及多个技术领域&#xff0c;包括计算机视觉、机器…

【人机交互 复习】第9章 以用户为中心的设计

一、以用户为中心的设计&#xff08;UCD&#xff09; 1.思想&#xff1a; &#xff08;1&#xff09;好的设计结果使客户感到满意。 &#xff08;2&#xff09;设计过程是设计人员与客户之间的协作过程。设计要进化并适应客户不断变化的考虑&#xff0c;作为一种副产品&#…

Clickhouse备份恢复_clickhouse-client方式backup命令之备份目录的设置

https://clickhouse.com/docs/en/operations/backup#command-summary 想要backup database dbname to Disk(‘diskname’,‘backupfilename.zip’)成功的话&#xff0c;需要符合3点 1、diskname需要在/etc/clickhouse-server/config.d/backup_disk.xml在<storage_configura…

【数据结构】【版本1.3】【线性时代】——栈

快乐的流畅&#xff1a;个人主页 个人专栏&#xff1a;《算法神殿》《数据结构世界》《进击的C》 远方有一堆篝火&#xff0c;在为久候之人燃烧&#xff01; 文章目录 引言一、栈的概念二、栈的模拟实现2.1 定义2.2 初始化2.3 销毁2.4 压栈2.5 判空2.6 出栈2.7 获取栈顶元素2.8…

RAG优化技巧|7大挑战与解決方式|提高你的LLM能力

在当今快速发展的人工智能领域&#xff0c;大型语言模型&#xff08;LLM&#xff09;已经成为无处不在的技术&#xff0c;它们不仅改变了我们与机器交流的方式&#xff0c;还在各行各业中发挥着革命性的影响。 然而&#xff0c;尽管LLM RAG的能力已经让人惊叹&#xff0c;但我…

浅谈配置元件之JDBC连接配置

浅谈配置元件之JDBC连接配置 通过使用“JDBC连接配置”配置元件&#xff08;JDBC Connection Configuration&#xff09;&#xff0c;您可以轻松地在JMeter测试计划中集成数据库交互能力。本指南将详细介绍如何设置和使用此配置元件来连接数据库并执行SQL查询。 1. 准备工作 …

深度学习500问——Chapter12:网络搭建及训练(1)

文章目录 12.1 TensorFlow 12.1.1 TensorFlow 是什么 12.1.2 TensorFlow的设计理念是什么 12.1.3 TensorFlow特点有哪些 12.1.4 TensorFlow的系统架构是怎样的 12.1.5 TensorFlow编程模型是怎样的 12.1.6 如何基于TensorFlow搭建VGG16 12.1 TensorFlow 12.1.1 TensorFlow 是什…

微服务架构:解构现代应用程序的未来

目录 前言1. 微服务架构的基本概念1.1 什么是微服务架构1.2 微服务与单体架构的对比 2. 微服务架构的优势2.1 灵活性与可扩展性2.2 持续交付与部署2.3 技术多样性2.4 故障隔离 3. 微服务架构的挑战3.1 服务间通信和数据一致性3.2 运维复杂度3.3 安全性3.4 开发团队的协作 4. 微…

内核学习——1、list_head

双向循环链表&#xff1a;list_head 头节点head是不使用的&#xff1a; struct list_head { struct list_head *next, *prev; }; 结构体中没有数据域&#xff0c;所以一般把list_head嵌入到其他结构中使用 struct file_node { char c; struct list_head node; }; 此时&#xff…

手机铃声下载2个必备技巧,定制化铃声,彰显个性魅力

手机铃声&#xff0c;就像是独特的信号灯&#xff0c;不仅仅是通知我们来电或信息的方式&#xff0c;更是展现个人品位和魅力的武器。手机铃声下载和定制&#xff0c;让你的手机从千万舰队中脱颖而出。在接下来的文章中&#xff0c;我们将详细探讨铃声下载技巧的具体操作步骤&a…

介绍.NET 6款好看的winform开源UI库

开篇概述 在软件开发的世界里&#xff0c;用户界面&#xff08;UI&#xff09;是连接用户与程序的桥梁。对于使用.NET Framework进行WinForms应用程序开发的开发者来说&#xff0c;拥有一个美观、直观且功能丰富的UI库无疑是提升用户体验的关键。今天&#xff0c;我们将一起探索…

2024人工智能指数报告(二):技术性能

背景 从2017年开始&#xff0c;斯坦福大学人工智能研究所&#xff08;HAI&#xff09;每年都会发布一份人工智能的研究报告&#xff0c;人工智能指数报告&#xff08;AII&#xff09;&#xff0c;对上一年人工智能相关的数据进行跟踪、整理、提炼并进行可视化。这份指数报告被认…