代码随想录算法训练营第三十一天| 56. 合并区间 、738.单调递增的数字 。c++转java

embedded/2024/11/17 17:34:59/

56. 合并区间

java">class Solution {public int[][] merge(int[][] intervals) {//对区间按照右边界排序Arrays.sort(intervals,(a,b) -> Integer.compare(a[0],b[0]));List<int[]> p = new LinkedList<>();int l = intervals[0][0],r = intervals[0][1];for(int i = 1;i < intervals.length;i++){// 合并区间if(intervals[i][0] <= r){r = Math.max(r,intervals[i][1]);}else{// 添加区间p.add(new int[]{l,r});//定义新的区间的边界l = intervals[i][0];r = intervals[i][1];}}//处理最后一个区间p.add(new int[]{l,r});return p.toArray(new int[p.size()][]);}
}

738.单调递增的数字

思路:只想到了一个暴力,还超时了~,这里的思路很巧妙,大概意思就是找最高位不符合数字递增的地方,然后把后面的位都变成最大值9,此时,我们找最高位就涉及到一个遍历顺序的问题,如果从头开始遍历,比如332,我们找到第二位是不符合条件的,3<2的,所以此时要将3-1,2->9,可是这样遍历得到的是329还是不符合题目要求,所以只能从后面开始遍历。详细解释看这里:代码随想录

java">class Solution {public int monotoneIncreasingDigits(int n) {// 将n转为char[]String s = String.valueOf(n);char[] ch = s.toCharArray();int start = s.length();for(int i = s.length() - 2; i >= 0;i--){if(ch[i] > ch[i + 1]){ch[i] -= 1;start = i + 1;}}for(int i = start;i < s.length();i++){ch[i] = '9';}return Integer.parseInt(String.valueOf(ch));}}


http://www.ppmy.cn/embedded/138054.html

相关文章

词汇积累之插科打诨、道貌岸然、前仰后合极简理解

插科打诨 1、基本介绍 指戏曲演出中穿插一些滑稽的动作与谈话&#xff0c;引人发笑 其中&#xff0c;“科”指古典戏曲中的表情与动作&#xff0c;“诨”指诙谐逗趣的话 也泛指表演滑稽、开玩笑的行为 2、示例 他总喜欢在朋友聚会时【插科打诨】&#xff0c;讲些笑话&…

嵌入式学习-C嘎嘎-Day03

嵌入式学习-C嘎嘎-Day03 1. 友元 friend 1.1 概念 1.2 友元函数 1.3 友元类 1.4 友元成员函数 2. 运算符重载 2.1 概念 2.2 友元函数运算符重载 2.3 成员函数运算符重载 2.4 特殊运算符重载 2.4.1 赋值运算符重载 2.4.2 类型转换运算符重载 2.5 注意事项 3. 字符串类型 string …

Nginx Spring boot指定域名跨域设置

1、Nginx配置跨域&#xff1a; server {listen 80;server_name your-backend-service.com;location / {proxy_pass http://localhost:8080; # Spring Boot应用的内部地址proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-F…

从前端react动画引发到计算机底层的思考

一、react 项目 中 数字从0增加到30000&#xff0c;变化动画效果 在 React 中实现数字从 0 增加到 30000 的动画效果&#xff0c;常见的方法是使用 requestAnimationFrame 或者使用 setInterval 来实现递增动画。结合 React 的 state 来更新数字的值&#xff0c;然后在组件中渲…

Kafka节点服役和退役

1 服役新节点 1&#xff09;新节点准备 &#xff08;1&#xff09;关闭 bigdata03&#xff0c;进行一个快照&#xff0c;并右键执行克隆操作。 &#xff08;2&#xff09;开启 bigdata04&#xff0c;并修改 IP 地址。 vi /etc/sysconfig/network-scripts/ifcfg-ens33修改完…

一文讲清楚人工智能自然语言处理中的数据预处理(数据清洗)

一、定义 在自然语言处理&#xff08;NLP&#xff09;中&#xff0c;数据预处理&#xff0c;又可称数据清洗&#xff0c;是指将原始文本数据转换成适合机器学习模型处理的格式的过程。 二、实例讲解 上面的定义阐述有些僵硬吧&#xff0c;笔者思考了好久&#xff0c;给出下面这…

C++常用的特性-->day05

友元的拓展语法 声明一个类为另外一个类的友元时&#xff0c;不再需要使用class关键字&#xff0c;并且还可以使用类的别名&#xff08;使用 typedef 或者 using 定义&#xff09;。 #include <iostream> using namespace std;// 类声明 class Tom; // 定义别名 using …

TCP编程API

这里写自定义目录标题 主要的 TCP 编程 API 函数1.1 socket()1.2 bind()1.3 listen()1.4 accept()1.5 connect()1.6 send()1.7 recv()1.8 close() 主要的 TCP 编程 API 函数 1.1 socket() 创建一个新的套接字。 int socket(int domain, int type, int protocol);domain&…