【每日刷题】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;

}

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

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

相关文章

数据库 | 试卷三

1.数据库的网状模型应满足的条件是&#xff08; &#xff09; A&#xff0e;允许一个以上结点无双亲&#xff0c;也允许一个结点有多个双亲 B&#xff0e;必须有两个以上的结点 C&#xff0e;有且仅有一个结点无双亲&#xff0c;其余结点都只有一个双亲 D&#xff0e;每个结…

模拟原神圣遗物系统-小森设计项目,需求分析

需求分析 我操控某个角色的圣遗物时发现&#xff0c;一开始玩啥也不懂慢慢了解&#xff0c;今天才想起要不做一个 &#xff0c;然后开始想需求 跟Ai聊技术 聊着聊着 发现圣遗物 这个东西有点意思 本来今天打算写一下数据库 的外键想起了一些高兴的事情&#xff08;美人鱼&#…

数字孪生技术及其广泛应用场景探讨

通过将实际物理世界中的物体或系统建模、模拟和分析&#xff0c;数字孪生技术可以提供更精确、更可靠、更高效的解决方案。数字孪生技术在智能制造、城市建设、智慧物流等众多领域中得到了广泛的应用。 通过将数据可视化呈现在虚拟环境中&#xff0c;我们可以更清晰地观察和理…

搜索引擎数据库介绍

搜索引擎数据库的定义 搜索引擎数据库是一类专门用于数据内容搜索的NoSQL数据库&#xff0c;是非结构化大数据处理分析领域中重要的角色。搜索引擎数据库使用索引对数据中的相似特征进行归类&#xff0c;并提高搜索能力。通过对索引和检索过程的优化&#xff0c;以处理大量文本…

安装vue时候发现npm淘宝镜像不能使用,报出:npm.taobao.org和registry.npm.taobao.or

2024.3.12 安装vue时候发现npm淘宝镜像不能使用&#xff0c;需要重新更换源&#xff0c;简单来说就是更换镜像 使用 npm config get registry 查看当前的镜像&#xff1b; npm config get registry 使用npm config set registry http://mirrors.cloud.tencent.com/npm/ &…

【GD32F303红枫派使用手册】第二十节 SPI-SPI NAND FLASH读写实验

20.1 实验内容 通过本实验主要学习以下内容&#xff1a; SPI通信协议&#xff0c;参考19.2.1东方红开发板使用手册 GD32F303 SPI操作方式&#xff0c;参考19.2.2东方红开发板使用手册 NAND FLASH基本原理 SPI NAND介绍 使用GD32F303 SPI接口实现对GD5F1GQ5UEYIGY的读写…

VB从右向左移动的Label

Label的ForeColor设置成红色&#xff0c;BackColor设置成Transparent. Public Class Form1Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.TickLabel1.Left Label1.Left - 100If Label1.Left Label1.Width < 0 ThenLabel1.Left WidthEnd If…

Tailwindcss 提取组件

背景 随着项目的发展&#xff0c;您不可避免地会发现自己需要重复使用常用样式&#xff0c;以便在许多不同的地方重新创建相同的组件。这在小组件&#xff08;如按钮、表单元素、徽章等&#xff09;中最为明显。在我的项目中是图表标题样式如下&#xff1a; <div class&qu…

工业园安全生产新保障:广东地区加强可燃气体报警器校准检测

广东&#xff0c;作为我国经济的重要引擎&#xff0c;拥有众多工业园区。 这些工业园区中&#xff0c;涉及化工、制药、机械制造等多个领域&#xff0c;每天都会产生和使用大量的可燃气体。因此&#xff0c;可燃气体报警器的安装与校准检测&#xff0c;对于保障工业园区的安全…

从手动到智能:电子行业PLM安规管理的转型之旅

随着科技的飞速发展&#xff0c;电子产品已经成为我们生活中不可或缺的一部分。然而&#xff0c;这些产品在给人们带来便利的同时&#xff0c;也可能带来触电、火灾、有害辐射等安全隐患。为了保护消费者的生命财产安全&#xff0c;国家对电子产品实施了严格的安全标准&#xf…

【SpringCloud】负载均衡(Spring Cloud LoadBalancer)

负载均衡 当服务流量增大时&#xff0c;通常会采用增加机器的方式进行扩容。负载均衡就是用来在多个机器或者其他资源中&#xff0c;按照一定的规则合理分配负载。其中的实现可以分成客户端负载均衡和服务端负载均衡。 服务端负载均衡 在服务端进行负载均衡的算法分配。 比…

华为仓颉开发语言“可能”明天正式面世(2024年6月20日写下)

众多迹象表明&#xff0c;鸽了几次的华为仓颉开发语言&#xff0c;有望在2024华为开发者大会上正式面世&#xff0c;你的期待热情是否还在&#xff1f; 1、“仓颉编程语言”公众号面世 最近&#xff0c;华为旗下的公众号“编程语言Lab”悄然改名为“仓颉编程语言”&#xff0c…

EasyCVR/EasyDSS无人机直播技术助力野生动物监测

近日有新闻报道&#xff0c;一名挖掘机师傅在清理河道时&#xff0c;意外挖出一只稀有的扬子鳄&#xff0c;挖机师傅小心翼翼地将其放在一边&#xff0c;扬子鳄也顺势游回一旁的河道中。 随着人类对自然环境的不断探索和开发&#xff0c;野生动物及其栖息地的保护显得愈发重要。…

SpringBoot对接微信公众平台(2)--- 接收普通消息Demo

SpringBoot对接微信公众平台&#xff08;2&#xff09;--- 接收普通消息 说明后端代码 说明 这里记录下自己学习SpringBoot对接微信公众平台的成长过程&#xff0c;以防止后面继续踩坑且方便以后直接使用。这里使用微信公众号的接口测试号来开发微信公众平台。这里承接自己的博…

图像超分辨率重建

一、什么是图像超分辨 图像超分辨是一种技术&#xff0c;旨在通过硬件或软件的方法提高原有图像的分辨率。这一过程涉及从一系列低分辨率的图像中获取一幅高分辨率的图像&#xff0c;实现了时间分辨率向空间分辨率的转换。超分辨率重建的核心思想是利用多帧图像序列的时间带宽来…

小程序使用经纬度通过腾讯位置服务、小程序jdk、逆地址解析(位置描述)获取到详细信息

小程序后台 注册账户 控制台新建应用 配额 配额 下载jdk 下载 逆地址解析&#xff08;位置描述&#xff09; const QQMapWX require(../../libs/qqmap-wx-jssdk.min.js);getPosition() {console.log(getPosition);const that thisconst qqmapsdk new QQMapWX({key: JRKBZ…

[Linux] Shell

chsh不是一种sh,而是一个命令行使用程序&#xff0c;用于更改默认shell CentOS是个开源软件&#xff0c;没有sh,sh是商业版的&#xff0c; 按ls /bin/*sh显示的sh实际上是个链接文件&#xff0c;连接的bash 在命令行输入新的sh名&#xff0c;会启动一个新的进程&#xff0c; 输…

IDEA2023中使用run Dashboard面板?实现批量运行微服务

1、直接点击Add service--->Run Configuration Type---->Spring Boot 2、这样就出现了run Dashboard面板&#xff0c;可同时运行多个工程模块&#xff0c;shift选中所有启动类组命名&#xff08;Group Configurations&#xff09; 3、启动所有的项目

[机器学习算法]支持向量机

支持向量机&#xff08;SVM&#xff09;是一种用于分类和回归分析的监督学习模型。SVM通过找到一个超平面来将数据点分开&#xff0c;从而实现分类。 1. 理解基本概念和理论&#xff1a; 超平面&#xff08;Hyperplane&#xff09;&#xff1a;在高维空间中&#xff0c;将数据…

Transformer与强化学习结合提升物联网智能决策

在数字化时代&#xff0c;物联网(IoT)的兴起已经彻底改变了我们与物理世界的互动方式。通过将日常家居用品到精密的工业机械等设备连接到互联网&#xff0c;IoT构建了一个庞大的互联生态系统&#xff0c;它所产生的数据量是前所未有的。这些数据为我们提供了丰富的信息资源&…