代码随想录训练营第三十一天 56合并区间 738单调递增的数字

第一题:

原题链接:56. 合并区间 - 力扣(LeetCode)

思路:首先还是排序;

然后定义一个二维数组存放结果,先将第一个元素存放到结果数组中,然后从第一个元素开始遍历整个数组。

当前元素的左边界如果小于结果数组最后一个元素的右边界的时候,将结果数组最后一个元素的右边界跟新为当前元素右边和最后一个元素的右边界的最大值。

同时更新右边界。

如果不是以上情况就将当前元素添加到结果数组中。

代码如下:

class Solution {
public:static bool cmp(vector<int> a, vector<int> b){return a[0] < b[0];}vector<vector<int>> merge(vector<vector<int>>& intervals) {if(intervals.size() == 0) return {};sort(intervals.begin(), intervals.end(), cmp);vector<vector<int>> res;res.push_back(intervals[0]);for(int i = 1; i < intervals.size(); i++){if(intervals[i][0] <= intervals[i - 1][1]){res.back()[1] = max(intervals[i][1], intervals[i - 1][1]);intervals[i][1] = max(intervals[i][1], intervals[i - 1][1]);}else{res.push_back(intervals[i]);}}return res;}
};

第二题:
原题链接:738. 单调递增的数字 - 力扣(LeetCode)

思路:

注意的是遍历要从后向前遍历,因为前面的数字会根据后面的数字进行判断和操作。

如果我们发现前一个元素的值大于当前值,前一个数字-1,然后将标志位flag值为当前元素的下标。然后一直向前遍历。然后将flag及之后的值都置为9;

要注意flag的初始化为数字的位数。

代码如下:

class Solution {
public:int monotoneIncreasingDigits(int n) {string s = to_string(n);int flag = s.size();for(int i = s.size() - 1; i > 0; i--){if(s[i - 1] > s[i]){s[i - 1]--;flag = i;}}for(int i = flag; i < s.size(); i++){s[i] = '9';}return stoi(s);}
};

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

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

相关文章

kafka系列之offset超强总结及消费后不提交offset情况的分析总结

概述 每当我们调用Kafka的poll()方法或者使用Spring的KafkaListener(其实底层也是poll()方法)注解消费Kafka消息时&#xff0c;它都会返回之前被写入Kafka的记录&#xff0c;即我们组中的消费者还没有读过的记录。 这意味着我们有一种方法可以跟踪该组消费者读取过的记录。 如前…

6.824/6.5840 的Debugging by Pretty Printing配置

TA的原文在&#xff1a;Debugging by Pretty Printing (josejg.com) 为了在WSL2中配置好打印运行日志&#xff0c;我可是忙活了一下午。可恶的log配置 首先是安装rich库Textualize/rich: Rich is a Python library for rich text and beautiful formatting in the terminal. …

用于视频生成的扩散模型

学习自https://lilianweng.github.io/posts/2024-04-12-diffusion-video/ 文章目录 3D UNet和DiTVDMImagen VideoSora 调整图像模型生成视频Make-A-Video&#xff08;对视频数据微调&#xff09;Tune-A-VideoGen-1视频 LDMSVD稳定视频扩散 免训练Text2Video-ZeroControlVideo 参…

需求分析|泳道图 ProcessOn教学

文章目录 1.为什么使用泳道图2.具体例子一、如何绘制确定好泳道中枢的角色在中央基于事实来绘制过程不要纠结美观先画主干处理流程再画分支处理流程一个图表达不完&#xff0c;切分子流程过程数不超25 &#xff0c;A4纸的幅面处理过程过程用动词短语最后美化并加上序号酌情加上…

leetcode hot 100 刷题记录

题目300&#xff1a;最长递增子序列&#xff08;NO&#xff09; 解题思路&#xff1a;动态规划&#xff0c;就是dp[i]的运用&#xff0c;这里dp[i]表示第i个元素为结尾的最长子序列。 给你一个整数数组 nums &#xff0c;找到其中最长严格递增子序列的长度。 子序列 是由数组…

后端——全局异常处理

一、老办法try-catch 当我们执行一些错误操作导致程序报错时&#xff0c;程序会捕捉到异常报错&#xff0c;这个异常会存在一个Exception对象里 那我们在spring boot工程开发时&#xff0c;当我们执行一个sql查询时报错了&#xff0c;那就会从最底层的Mapper层捕捉到Exceptio…

Android应用程序调试Logcat的使用

Android的程序调试主要使用Logcat进行&#xff0c;本节主要介绍Logcat的使用。 开启调试模式 使用Android Studio进行程序调试&#xff0c;首先需要连接虚拟Android设备或真实Android设备&#xff0c;设备上需要启用调试功能。 虚拟Android设备默认情况下会启用调试功能。对…

C++ 入门03:函数与作用域

往期回顾&#xff1a; C 入门01&#xff1a;初识 C-CSDN博客C 入门02&#xff1a;控制结构和循环-CSDN博客 一、前言 在前面的文章学习中&#xff0c;我们了解了C语言的基础&#xff0c;包括如何定义变量来存储数据&#xff0c;以及如何利用输入输出流实现程序与用户之间的无缝…

华为机考真题 -- 找朋友

题目描述: 在学校中,N 个小朋友站成一队, 第 i 个小朋友的身高为 height[i],第 i 个小朋友可以看到的第一个比自己身高更高的小朋友 j,那么 j 是 i 的好朋友(要求 j >i)。请重新生成一个列表,对应位置的输出是每个小朋友的好朋友位置,如果没有看到好朋友,请在该位置…

微软清华提出全新预训练范式,指令预训练让8B模型实力暴涨!实力碾压70B模型

现在的大模型训练通常会包括两个阶段&#xff1a; 一是无监督的预训练&#xff0c;即通过因果语言建模预测下一个token生成的概率。该方法无需标注数据&#xff0c;这意味着可以利用大规模的数据学习到语言的通用特征和模式。 二是指令微调&#xff0c;即通过自然语言指令构建…

Python面试题:请解释什么是鸭子类型(duck typing)?

鸭子类型&#xff08;Duck Typing&#xff09;是一种动态类型语言中的概念&#xff0c;它基于对象的行为&#xff08;方法和属性&#xff09;而不是其实际类型进行判断。这个概念源自詹姆斯惠特科姆赖利的谚语&#xff1a; “如果它走起来像鸭子&#xff0c;叫起来像鸭子&#…

通过高德地图 JS API实现单击鼠标进行标注

效果图: 核心代码: <template><a-modal title="选择地图所在位置" :width="width" :visible="visible" @ok="handleOk" @cancel="handleCancel" cancelText="关闭"><div class="location-…

场外期权有交割日吗?场外期权应该怎么交割?

今天带你了解场外期权有交割日吗&#xff1f;场外期权应该怎么交割&#xff1f;场外个股期权是一种非标准化的金融衍生品&#xff0c;它允许投资者在未来某一特定日期以特定价格买入或卖出某一特定股票。 交割日就是买卖双方进行交割的日期,期权合约具有到期日,到期日的后一天…

WEB安全-文件上传漏洞

1 需求 2 接口 3 MIME类型 在Web开发中&#xff0c;MIME&#xff08;Multipurpose Internet Mail Extensions&#xff09;类型用于标识和表示文档的格式。这些类型在HTTP请求和响应头中扮演着重要的角色&#xff0c;告诉浏览器如何解释和处理接收到的资源12。 以下是一些Web开发…

ChatGPT:Java Stream 的疑问

ChatGPT&#xff1a;Java Stream 的疑问 解释一下 List<SupplierVm> collect tSupplierPage.getRecords().stream().map(item ->{SupplierVm supplierVm new SupplierVm();BeanUtils.copyProperties(item, supplierVm);return supplierVm;}).collect(Collectors.to…

【JavaScript】具有 iterable 接口的数据结构

具有 iterable 接口的数据结构指的是可以通过迭代器&#xff08;Iterator&#xff09;访问其成员的数据结构。在 JavaScript 中&#xff0c;具有 iterable 接口的数据结构包括数组&#xff08;Array&#xff09;、字符串&#xff08;String&#xff09;、Set、Map 等。这些数据…

C电池 和 D 电池的作用和类型详解及其之间的区别

C 和 D 电池是我们日常生活中必不可少的部件。它们通常用于高功率设备。例如手电筒和玩具。 D 型电池和 C 型电池是两种常见的电池类型。它们是一次性圆柱形电池。您可以在很多设备上使用它们。虽然它们有很多相似之处&#xff0c;但它们也有不同的特点。这些特点使它们适合某…

如何用qq邮箱注册outlook邮箱

&#x1f4d1;打牌 &#xff1a; da pai ge的个人主页 &#x1f324;️个人专栏 &#xff1a; da pai ge的博客专栏 ☁️宝剑锋从磨砺出&#xff0c;梅花香自苦寒来 ​ 目录 第一步输入qq邮箱 第二步…

数据类型及数据块认知

西门子STEP7编程语言 梯形图(LAD) 功能块图(FBD) 语句表(STL) 其中梯形图和功能块图可以相互转换 CPU常用数据区 信号输入区 I 信号输出区 Q 程序中表现形式&#xff0c;IX.X/QX.X;IWX/QWX-访问的是CPU输出输入过程映像区 另一种形式IWX:P/QWX:P-访问的是信号端口地址&#xf…

深度整合全球资源,分贝通打造高效、合规的海外差旅管理平台

在全球化商业活动的背景下,中国企业出海已成为常态。然而,随着海外差旅市场的全面增长,企业在海外支出管理上面临诸多挑战。据2023年数据显示,分贝通出海差旅业务GMV同比增长高达500倍,这一增长背后隐藏着企业对于更省钱、更高效管控方式的迫切需求。 面对与日俱增的开支,企业开…