【每日刷题】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,一经查实,立即删除!

相关文章

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…

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() {…

【数据结构】【版本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. 准备工作 …

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

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

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

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

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

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

深度学习1 -- 开头

一 前言 感觉用这玩意越来越多&#xff0c;所以想学学。不过没想好怎么学&#xff0c;也没有提纲&#xff0c;买了两本书&#xff0c;一本是深度学习入门&#xff0c;小日子写的。还有一本就是花书。还有就是回Gatech参加线上课程&#xff0c;CS7643。 CS 7643: Deep Learnin…

【stm32-新建工程-寄存器版本】

stm32-新建工程-寄存器版本 ■ 下载相关STM32Cube官方固件包&#xff08;F1&#xff0c;F4&#xff0c;F7&#xff0c;H7&#xff09;■ 1. ST官方搜索STM32Cube■ 2. 搜索 STM32Cube■ 3. 点击获取软件■ 4. 选择对应的版本下载■ 5. 输入账号信息■ 6. 出现下载弹框&#xff…

推荐 2 个 牛哔哄哄 的 GitHub 项目

推荐两个开源的 GitHub 项目&#xff0c;一个基于大模型的企业级知识库问答系统&#xff0c;支持管理企业知识库、对话问答、RAG 等功能。 另外一个是计算机视觉的工具箱&#xff0c;使用它你可以在你电脑上实现人体跟踪、分割、检测等一系列计算机视觉的场景。 01 基于 LLM 大…

【unity笔记】二、海洋系统Crest Ocean System插件使用

一、介绍 Crest 是 Unity 技术先进的海洋系统。 它专为性能而设计&#xff0c;并大量使用细节级别 &#xff08;LOD&#xff09; 策略和 GPU 加速来实现快速更新和渲染。它还具有高度的灵活性&#xff0c;允许对水形状/泡沫/动态波浪/等进行任何自定义输入&#xff0c;并具有直…

01 基础入门 编写你的第一个 Go 语言程序

从这节课开始&#xff0c;我会带你走进 Go 语言的世界。我会用通俗易懂的语言&#xff0c;介绍 Go 语言的各个知识点&#xff0c;让你可以从零开始逐步学习&#xff0c;再深入它的世界。不管你以前是否接触过 Go 语言&#xff0c;都可以从这个专栏中受益。 现在&#xff0c;让…

时隔一年,SSD大涨价?

同样产品&#xff0c;2T&#xff0c;去年400多到手&#xff0c;今年700。 去年 今年

3ds Max软件下载安装:3D建模软件 轻松开启你的建模之旅!

3ds Max&#xff0c;在建模过程中&#xff0c;网格建模和NURBS建模两大技术发挥着不可或缺的作用。网格建模允许用户通过顶点、边和面等元素的调整&#xff0c;精确地塑造出模型的形态&#xff1b;而NURBS建模则以其优秀的曲线和曲面处理能力&#xff0c;为设计师们提供了更为平…

迅为RK3568驱动教程第十八期-PWM

系统性PWM课程&#xff0c;完全掌握PWM。采用框架学习法&#xff0c;从基础知识、PWM子系统框架、API函数理论由面到点&#xff0c;逐个击破。通过SG90舵机&#xff0c;呼吸灯的控制把理论转为动手能力。最后从零实现输入捕获驱动程序&#xff0c;深入探究&#xff0c;体验一把…

《人工智能导论》书面作业

第 1 章&#xff1a;绪论 1、分别解释人工智能的三个主要学派的代表人物和主要思想&#xff0c;并给出每个学派的一个实际应用实例。 符号主义&#xff08;Symbolists 或 逻辑主义&#xff09;&#xff1a; 代表人物&#xff1a;马文闵斯基&#xff08;Marvin Minsky&#xf…