【每日刷题】Day37

【每日刷题】Day37

🥕个人主页:开敲🍉

🔥所属专栏:每日刷题🍍

🌼文章目录🌼

1. 2391. 收集垃圾的最少总时间 - 力扣(LeetCode)

2. 1614. 括号的最大嵌套深度 - 力扣(LeetCode)

3. 496. 下一个更大元素 I - 力扣(LeetCode)

1. 2391. 收集垃圾的最少总时间 - 力扣(LeetCode)

//思路:一次遍历。使用一个数组,记录每种车去往不同位置清理的总用时。

int garbageCollection(char** garbage, int garbageSize, int* travel, int travelSize)

{

    int hash[26] = {0};

    int ans = 0;

    int count = 0;

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

    {

        ans+=strlen(garbage[i]);//因为每种垃圾清理所用时长都为1分钟,因此这里直接加上垃圾数量即可,这里是清理垃圾的耗时

        if(i>0)//当i>0后需要考虑行程耗时

        {

            count+=travel[i-1];//用于记录行程总耗时

            for(int j = 0;garbage[i][j]!='\0';j++)

            {

                hash[garbage[i][j]-'A'] = count;//用于记录每辆车的行程耗时

            }

        }

    }

    for(int i = 0;i<26;i++)//最后加上每辆车的行程耗时

    {

        ans+=hash[i];

    }

    return ans;

}

2. 1614. 括号的最大嵌套深度 - 力扣(LeetCode)

//思路:栈。遍历字符串,遇到左括号入栈,深度+1,遇到右括号出栈,深度-1,如果深度为0,记录最大深度

int maxDepth(char* s)

{

    int ans = 0;

    int count = 0;

    char* arr = (char*)malloc(sizeof(char)*strlen(s));

    int num = 0;

    while(*s)

    {

        if(*s=='(')//左括号入栈

        {

            arr[num++] = *s;

            count++;//深度+1

            ans = ans>count?ans:count;//记录最大深度

        }

        else if(*s==')')//右括号出栈

        {

            num--;

            count--;//深度-1

        }

        s++;

    }

    return ans;

}

3. 496. 下一个更大元素 I - 力扣(LeetCode)

//思路:遍历两个数组。在nums2中定位nums1的元素位置,随后向后遍历寻找遇到的更大的第一个元素,入栈;如果找到了数组尾也没找到更大的,则将-1入栈。

int* nextGreaterElement(int* nums1, int nums1Size, int* nums2, int nums2Size, int* returnSize)

{

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

    int count = 0;

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

    {

        int flag = 1;

        int j = 0;

        while(nums2[j]!=nums1[i])//在nums2中定位与nums1中当前元素相同的位置

        {

            j++;

        }

        j++;//定位到后向后挪动一位

        if(j>=nums2Size)//如果nums1中当前元素在nums2中的位置为数组尾,由于后面没有元素,因此不可能会有更大的,直接将-1入栈,并跳过后面。

        {

            ans[count++] = -1;

            continue;

        }

        for(;j<nums2Size;j++)//遍历nums2寻找下个更大元素

        {

            if(nums2[j]>nums1[i])

            {

                ans[count++] = nums2[j];//找到后直接入栈,跳出循环,并将标志置0

                flag = 0;

                break;

            }

        }

        if(flag)//如果标志没有置0,说明在nums2中没有找到更大的元素,将-1入栈

        {

            ans[count++] = -1;

        }

    }

    *returnSize = count;

    return ans;

}

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

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

相关文章

你可能喜欢但也许还不知道的好用网站-搜嗖工具箱

在线工具 https://www.zxgj.cn/ 作为一个工作生活好帮手&#xff0c;在线咨询网站提供了丰富的实用功能&#xff0c;从工作中的图表制作、图片修改到生活中的各种测试、健康、娱乐、学习、理财等等涵盖面很广。 在线工具网站从界面和操作上来看对用户也很友好&#xff0c;页面…

论文研读 An Image Is Worth 16x16 Words: Transformers For Image Recognition At Scale

完整翻译 《An Image is Worth 16x16 Words》完整版翻译_an image is worth 16*16words-CSDN博客 大神讲解 Vision Transformer详解-CSDN博客 视频讲解 11.1 Vision Transformer(vit)网络详解_哔哩哔哩_bilibili 学习整理 简要概述&#xff1a;Vision Transformer&#xff…

Typescript高级: 深入理解断言

概述 关于断言&#xff0c;就是TS 类型断言&#xff0c;即把两种能有重叠关系的数据类型进行相互转换的一种 TS 语法把其中的一种数据类型转换成另外一种数据类型类型断言和类型转换产生的效果一样&#xff0c;但语法格式不同TS 类型断言语法格式&#xff1a;A 数据类型的变量…

在 Kubernetes 上运行 Apache Spark 进行大规模数据处理的实践

在刚刚结束的 Kubernetes Community Day 上海站&#xff0c;亚马逊云科技在云原生分论坛分享的“在 Kunernets 上运行 Apache Spark 进行大规模数据处理实践”引起了现场参与者的关注。开发者告诉我们&#xff0c;为了充分利用 Kubernetes 的高可用设计、弹性&#xff0c;在越来…

AIGC (AI-Generated Content) 技术深度探索:现状、挑战与未来愿景

&#x1f525; 个人主页&#xff1a;空白诗 文章目录 &#x1f916; AIGC技术&#xff1a;塑造未来的创意与内容革命 &#x1f31f;引言 &#x1f680;AIGC技术发展现状 &#x1f4c8;核心技术驱动 &#x1f4a1;应用领域拓展 &#x1f310; 面临的挑战 ❌真实性与伦理考量 &am…

SAP-CentralFinance - 会计核算中的组织要素 - 学习心得1

1. 定义SAP组织架构和理解各组织架构含义 组织结构遍布SAP 系统的所有重要功能范围。FI 中最重要的组织要素是公司代码。它是“财务会计”中的最小组织单位,可以为其编制自主式完整科目集供外部报告使用。其他重要的组织要素是利润中心业务范围和段。您可以为各个利润中…

大模型微调之 在亚马逊AWS上实战LlaMA案例(十)

大模型微调之 在亚马逊AWS上实战LlaMA案例&#xff08;十&#xff09; 训练数据集格式 SageMaker JumpStart 目前支持域适应格式和指令调整格式的数据集。在本节中&#xff0c;我们指定两种格式的示例数据集。有关更多详细信息&#xff0c;请参阅附录中的数据集格式化部分。 …

Vue进阶(贰零捌)浏览器地址栏URL防篡改攻略

文章目录 一、前言二、动态路由三、Params 参数四、在 URL 中使用加密参数五、参数转码六、综述七、拓展阅读 一、前言 在应用 vue.js 开发前端项目时&#xff0c;浏览器中url 地址栏参数的处理是一个很基础但却很重要的问题。在很多情况下&#xff0c;我们需要从 url 中获取参…

采购管理软件:采购自动化提高效率的5种方式

在采购领域&#xff0c;手动数据输入和耗时的文书工作的时代已经落后了。采购自动化正在改变游戏规则&#xff0c;使企业能够简化流程、降低成本并提高效率。 以下是采购自动化帮助企业提高效率的5种方法。 采购管理软件,采购自动化管理,8Manage SRM,高亚科技 减少手动流程和…

安卓手机APP开发__屏幕兼容性概述

安卓手机APP开发__屏幕兼容性概述 目录 概述 屏幕大小 灵活的布局 备选的布局 可改写的图像 像素的深度 深度依赖 备选的位图 向量图形 概述 安卓运行各种各样的设备&#xff0c;它们有不同的屏幕大小和屏幕的像素深度。 系统执行基本的缩放和变形来适配在不同的屏幕…

iview(viewUI) span-method 表格实现将指定列的值相同的行合并单元格

效果图是上面这样的&#xff0c;将第一列的名字一样的合并在一起&#xff1b; <template><div class"table-wrap"><Table stripe :columns"columns" :data"data" :span-method"handleSpan"></Table></div&…

HDFS- DataNode磁盘扩缩容

HDFS- DataNode磁盘扩缩容 背景: 缩减/增加节点磁盘 方案介绍: 采用hdfs dfsadmin -reconfig 动态刷新配置实现,不停服扩缩容。 注意事项: 请在进行缩容之前,务必了解实际的数据量,并确保磁盘有足够的空间来容纳这些数据。还需要考虑未来的使用需求,要预留一定数量的空间…

如何成为一个优秀的程序员

1 衡量一个程序员是否优秀&#xff0c;不是看程序员懂多少编程语言和编程技能&#xff0c;也不是看程序员做过多少项目&#xff0c;写过多少行代码&#xff0c;发表多少篇技术文章&#xff0c;甚至也不是看程序员的工作年限。 衡量程序员&#xff0c;第一看薪资&#xff0c;第…

java+vue3+iclientol实现警务地理信息系统实践

警务地理信息系统&#xff08;Police Geographic Information System, PGIS&#xff09;是一种专为警务工作设计的地理信息系统&#xff0c;它结合了地理信息技术、数据库技术、网络技术和现代警务理念&#xff0c;旨在提升公安机关的空间数据分析、决策支持、指挥调度、案件管…

SpringMVC的WebMvcConfigurer及返回

由于很久很久没有做过纯springmvc的代码了&#xff0c;好多东西都遗忘&#xff0c;最近接手了一个古早项目springmvc的。记录一下&#xff1a; 1、WebMvcConfigurer 是 Spring Framework 中的一个接口&#xff0c;它提供了一种扩展 Spring MVC 配置的方式。通过实现 WebMvcConf…

【QVariant类型剖析】

QVariant类型剖析 &#x1f31f; 官方文档中给出的定义&#x1f31f; 特性&#x1f338;QVariant实战应用&#x1f338;项目成果展示 &#x1f31f; 官方文档中给出的定义 &#x1f4d8;Because C forbids unions from including types that have non-default constructors or…

基于springboot+vue+Mysql的外卖点餐系统

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

【.NET Core】你认识Attribute之CallerMemberName、CallerFilePath、CallerLineNumber三兄弟

你认识Attribute之CallerMemberName、CallerFilePath、CallerLineNumber三兄弟 文章目录 你认识Attribute之CallerMemberName、CallerFilePath、CallerLineNumber三兄弟一、概述二、CallerMemberNameAttribute类三、CallerFilePathAttribute 类四、CallerLineNumberAttribute 类…

Android 简单的下拉选择框实现

要实现这种效果,目前知道的方法有以下两种,Spinner 和 ListPopupWindow,当然肯定还有很多别的方法,这里我们先尝试使用ListPopupWindow来实现这个效果; 以下是一个简单的demo: public class MainActivity extends AppCompatActivity {private List<String> dataList;pr…

三方库的调用方法

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录前言三方库的调用方法1. **下载并安装Boost库(三方库)**2. **配置开发环境**3. **包含Boost(三方库)头文件**4. **编写代码**5. **链接Boost库(三…