【每日刷题】Day60

【每日刷题】Day60

🥕个人主页:开敲🍉

🔥所属专栏:每日刷题🍍

🌼文章目录🌼

1. 1122. 数组的相对排序 - 力扣(LeetCode)

2. 419. 甲板上的战舰 - 力扣(LeetCode)

3. 513. 找树左下角的值 - 力扣(LeetCode)

1. 1122. 数组的相对排序 - 力扣(LeetCode)

//思路:哈希+记数。

int* relativeSortArray(int* arr1, int arr1Size, int* arr2, int arr2Size, int* returnSize)

{

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

    int count = 0;

    int hash[1001] = {0};

    int max = arr1[0];

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

    {

        hash[arr1[i]]+=1;

        if(arr1[i]>max)

            max = arr1[i];

    }

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

    {

        while(hash[arr2[i]]--)

        {

            ans[count++] = arr2[i];

        }

    }

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

    {

        while(hash[i]>0)

        {

            hash[i]--;

            ans[count++] = i;

        }

    }

    *returnSize = count;

    return ans;

}

2. 419. 甲板上的战舰 - 力扣(LeetCode)

//思路:遍历判断。本题来源于游戏《海战棋》(海战棋 (网络游戏) (battleship-game.org))

//每个相邻的X组成战舰,战舰只能横着或者竖着,比如:

//如上图,下图则是错误的形式。

//知道了规则后我们着手实现代码。

//首先,判断战舰的数量肯定是判断‘X’的数量,但是不是每个X都有效,如下图

//那么如何判断是否为无效‘X’呢,很简单,只需要判断当前位置上一个是否为‘X’即可,如果当前位置上一个为‘X’,则需要将当前位置及当前位置后面的以及下面的相邻的为‘X’的位置改为‘.’。

int countBattleships(char** board, int boardSize, int* boardColSize)

{

    int ans = 0;

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

    {

        for(int j = 0;j<*boardColSize;j++)

        {

            if(board[i][j]=='X')//判断当前位置是否为‘X’

            {

                ans++;//为X记为一艘战舰,当前位置记为战舰头

                int x = j+1;//将与战舰头相连的战舰身以及无法组成战舰的无效‘X’改为‘.’

                while(x<*boardColSize&&board[i][x]=='X')

                {

                    board[i][x] = 'x';

                    x++;

                }

                int y = i+1;

                while(y<boardSize&&board[y][j]=='X')

                {

                    board[y][j] = '.';

                    y++;

                }

            }

        }

    }

    return ans;

}

3. 513. 找树左下角的值 - 力扣(LeetCode)

//思路:深度优先遍历。算出二叉树的最大深度(用于判断是否遍历到了最第层),深度优先遍历二叉树,遍历到叶子结点时,判断是否是最底层,不是则继续遍历二叉树。

//判断是否为叶子结点

bool IsLeafNode(struct TreeNode* root)

{

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

}

//求二叉树最大深度

int BinaryTreeHigh(struct TreeNode* root)

{

    if(!root)

        return 0;

    int HighLeft = BinaryTreeHigh(root->left);

    int HighRight = BinaryTreeHigh(root->right);

    return 1+(HighLeft>HighRight?HighLeft:HighRight);

}

double FindVal(struct TreeNode* root,int high)

{

    if(!root||(IsLeafNode(root)&&high!=1))

        return INT_MAX+10;//不满足则返回一个>INT_MAX的值

    if(IsLeafNode(root)&&high==1)

        return root->val;//满足则返回结点值

    double left = FindVal(root->left,high-1);

    if(left!=(INT_MAX+10))//如果已经找到了则不用继续遍历

        return left;

    return FindVal(root->right,high-1);//否则继续遍历

}

int findBottomLeftValue(struct TreeNode* root)

{

    int high = BinaryTreeHigh(root);

    return (int)FindVal(root,high);

}

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

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

相关文章

计划任务 之 一次性的计划任务

计划任务 作用:定时自动完成特定的工作 计划任务的分类&#xff1a; &#xff08;1&#xff09;一次性的计划任务 例如下周三对系统的重要文件备份一次 &#xff08;2&#xff09;周期性重复计划任务 例如每天晚上12&#xff1a;00备份一次 一次性的任务计划&#xff1a…

10_3、C++继承与派生:派生类成员访问

派生类成员访问 作用域分辨符虚基类概念及用法虚基类派生类的构造函数 赋值兼容规则 作用域分辨符 如果派生类中存在和基类中完全相同的函数&#xff0c;将发生同名覆盖。如果在派生类中存在一个和基类某数据成员同名的数据成员&#xff0c;或者和基类某成员函数的名称和参数表…

【docker实战】如何上传镜像到自己的私有仓库

上一篇文章讲了【docker实战】如何登陆到自己的私有仓库&#xff1f; – 经云的清净小站 (skycreator.top)。那么后面的工作就是如何上传镜像到自己的私有仓库了。 下面的操作是使用docker login命令成功之后的操作&#xff0c;没有login请先login。 我打算将本地的ubuntu:18…

OUO杂货铺

目录结构 文章目录 OUO杂货铺百度极速版红果免费短剧蛋花免费小说/常读免费小说有柿快手极速版快手快手/快手极速版磁力万合番茄免费小说抖音极速版头条极速版 运行环境参数说明Bug解决区优化/新增功能区异常介绍 OUO杂货铺 注意点&#xff1a; 1.如果手机顶部出现蓝牙标记&a…

我给KTV服务生讲解防抖,他竟然听懂了

端午节三天假期&#xff0c;的最后一天&#xff0c;我和朋友闲来无事&#xff0c;想着去唱会儿歌吧&#xff0c;好久不唱了&#xff0c;于是吃了午饭&#xff0c;石景山就近找了一家KTV&#xff0c;我们团好了卷就过去了。 装修还算不错&#xff0c;很快找到服务生&#xff0c…

北航数据结构与程序设计第五次作业选填题复习

选填题考的很多都是基础概念&#xff0c;对于巩固复习一些仡佬拐角的知识点是很有用的。非北航学生也可以来看看这些题&#xff0c;这一节主要是树方面的习题&#xff1a; 一、 我们首先需要知道一个公式 这是证明&#xff1a; 知道了这个公式&#xff0c;我们把题目中的数据…

MySQL常用命令(Linux环境)

一、数据定义语句(DDL) 数据库操作 ●登录数据库&#xff1a; mysql -uroot -proot ●创建数据库&#xff1a; create database test ●查看所有数据库&#xff1a; show databases ●选择数据库并使用&#xff1a; use test ●查看所有数据表&#xff1a; show tabl…

抖音快手AI无人直播系统:教你快速搭建视频循环直播场景只需五部

AI无人直播是一种创新的直播方式&#xff0c;利用先进的技术手段实现自动直播&#xff0c;无需人工干预。这种直播方式具有全天候自动直播的能力&#xff0c;无需运营和监管即可吸引流量并转化为订单。商家门店对这种低成本高效果的方式非常欢迎。通过轻松进行直播销售&#xf…

积鼎CFD VirtualFlow 基于热限制相变和流固耦合模型的冷板共轭传热相变仿真

冷板在电子设备领域应用极为广泛&#xff0c;如航空电子设备、汽车电子设备等。由于现代设备越来越集成化及模块化&#xff0c;要求以更小的体积、更轻的重量提供更优越的性能&#xff0c;使得在各级电子封装上产生高的功率密度&#xff0c;而电子元件上高热量的聚集是造成设备…

怎么改图片分辨率的dpi数值?简单调整图片dpi的方法

图片分辨率的dpi是目前使用图片时比较常见的要求之一&#xff0c;在网上上传图片时比如证件照类型&#xff0c;都经常会对图片dpi数值有要求。在使用图片的时候&#xff0c;如果dpi的数值不满足用户使用&#xff0c;那么就会无法正常上传使用&#xff0c;那么修改图片api具体该…

CATIA入门操作案例——创成式曲面设计案例,吹风机的绘制,多截面曲面的绘制,曲面偏移和修剪

目录 引出画吹风机吹风机壳体多截面曲面吹风机后壳桥接曲面吹风机把手多截面曲面进行曲面的修剪绘制把手的后盖绘制内凹的圆曲面进入零件工作台&#xff0c;定义厚曲面绘制进气凹槽 总结异形弹簧新建几何体草图编辑&#xff0c;画一条样条线进行扫掠&#xff0c;圆心和半径画出…

易语言环境搭建

前言 警告:我学易语言和写易语言教程,不是因为这门语言有什么特别的优点或是好找工作,完全是因为这是中文编程语言,所以我想学着玩玩, 请所有学这门语言的人抱着玩玩的态度学,因为这门语言就我目前接触来看,很差劲,并不是因为语言本身(我还刚开始学) 而是这门语言要收费,面向开…

hive 安装 嵌入模式 笔记

$ hive $ HIVE_HOME/bin/schematool -dbType derby –initSchema $ schematool -verbose -validate -dbType derby $HIVE_HOME/bin/hiveserver2 这个启动了先不要关闭&#xff0c;再打开一个终端进行下面的步骤 Beeline -u show databases 总结 报错1 WARN jdbc.HiveConnecti…

72、AndroidStudio 导入项目Connect timed out错误解决

一、背景&#xff1a; 开发过程中难免会 clone 其他的项目&#xff0c;clone 或者下载成功之后。使用 android studio 打开项目时经常遇到 Connect timed out错误如图所示&#xff1a; 二、分析原因&#xff1a; 1、既然链接超时&#xff0c;肯定是 android studio 在运行…

高考志愿填报,如何识别兴趣和擅长?

一年一度的高考落下帷幕&#xff0c;是不是就意味着放松了&#xff1f;解放了&#xff1f; 高考志愿填报的重要性&#xff0c;依旧重要&#xff0c;考得好不如报的好。 考分高低固然是关键&#xff0c;而填报高考志愿&#xff0c;才是真正决定人生的一次选择&#xff0c;这一…

hadoop和hbase对应版本关系

https://hbase.apache.org/book.html#configuration

手机丢失不惊慌,华为手机已升级至楼层级设备查找!

出门总是丢三落四&#xff0c;手机丢了怎么办&#xff1f;不要怕&#xff0c;只要你的华为手机升级至云空间新版本&#xff0c;就可以进行楼层级设备查找&#xff0c;现在可以查看到具体的楼层了&#xff01; 之前有手机丢失过的朋友&#xff0c;肯定有相似的经历&#xff0c…

写小红书文案一定要把情绪值拉满

写小红书文案一定要把情绪值拉满&#xff01;很多小伙伴不懂这句话的意思。 本文伯乐网络传媒将为你揭秘如何在小红书文案中&#xff0c;巧妙地运用情绪值&#xff0c;让每一个字都充满吸引力。 一、注意事项&#xff1a;真实与平衡的艺术 1. 保持文案的真实性&#xff0c;不…

AIGC-AnimateDiff论文详细解读

AnimateDiff: Animate Your Personalized Text-to-Image Diffusion Models without Specific Tuning github:https://github.com/guoyww/animatediff/ 论文:https://arxiv.org/abs/2307.04725 AnimateDiff 通过预训练的运动模块(motionmodule)&#xff0c;直接将现有的个性化文…

wms仓储管理系统适合做海外仓吗?解答来了

对于海外仓来说&#xff0c;一个高效、智能的仓储管理系统是保障业务正常运转的关键因素。那我们可以直接拿wms仓储管理系统来管理海外仓吗&#xff1f;wms系统和海外仓管理系统有什么区别&#xff1f; 今天我们就来聊一下这个问题。 首先说&#xff0c;wms仓储管理系统是一个…