当前位置: 首页 > java >正文

代码随想录算法训练营Day31 | 56. 合并区间 738.单调递增的数字

56. 合并区间

问题描述:

以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。

解决方式:

class Solution {public int[][] merge(int[][] intervals) {Arrays.sort(intervals,(a,b)->Integer.compare(a[0],b[0]));List<int[]> marge = new ArrayList<>();//当前区间int[] currentInterval = intervals[0];marge.add(currentInterval);//始终比较结果集合中最后一个区间与当前遍历到的区间for(int[] interval : intervals){int currentEnd = currentInterval[1];int nextStart = interval[0];int nextEnd = interval[1];if(currentEnd >= nextStart){currentInterval[1] = Math.max(currentEnd,nextEnd);}else{currentInterval = interval;marge.add(currentInterval);}}return marge.toArray(new int[0][]);}
}

738.单调递增的数字

问题描述:

当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。

给定一个整数 n ,返回 小于或等于 n 的最大数字,且数字呈 单调递增 。

解决方式:

class Solution {public int monotoneIncreasingDigits(int n) {char[] digits = String.valueOf(n).toCharArray();int mark = digits.length; // 标记需要置为'9'的起始位置// 从右向左扫描for (int i = digits.length - 1; i > 0; i--) {if (digits[i] < digits[i - 1]) {digits[i - 1]--;mark = i; // 只更新最左边的mark}}// 将mark之后的所有位都置为'9'for (int i = mark; i < digits.length; i++) {digits[i] = '9';}return Integer.parseInt(new String(digits));}
}
http://www.xdnf.cn/news/2107.html

相关文章:

  • 栈相关算法题解题思路与代码实现分享
  • 【Pandas】pandas DataFrame rmul
  • 2024江西ICPC部分题解
  • 数据分析管理软件 Minitab 22.2.2 中文版安装包 免费下载
  • 【Hive入门】Hive分桶表深度解析:从哈希分桶到Join优化的完整指南
  • 数字技术驱动下教育生态重构:从信息化整合到数字化转型的路径探究
  • 【摩尔定律】
  • Python爬虫实战:获取高考资源网各学科精品复习资料
  • C#中的弱引用使用
  • Set的学习
  • Eclipse Debug 配置指南
  • A. Ideal Generator
  • Maven 依赖冲突调解与版本控制
  • 百度AI开发者大会:连发多款AI应用,覆盖AI数字人等热门赛道
  • 【高频考点精讲】实现垂直居中的多种CSS方法比较与最佳实践
  • 2.4goweb项目上传到csdn的git仓库
  • 前端面试宝典---vue原理
  • 【OpenCV】第二章——图像处理基础
  • 丝杆升降机换油周期深度解析:从理论模型到自动化监测的全栈实践​
  • [官方IP] Shift RAM
  • Python 第 11 节课 - string 与 random 的方法
  • io_uring概述:现代 Linux 异步 IO 的新范式
  • 启动命令汇总(Redis / Kafka / Flume / Spark)
  • 【MCP Node.js SDK 全栈进阶指南】中级篇(5):MCP客户端高级开发
  • 云原生--核心组件-容器篇-3-Docker三大核心之--镜像
  • 19.【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--单体转微服务--当前项目拆分规划
  • 【10分钟读论文】Power Transmission Line Inspections电力视觉水文
  • 链表相交.
  • Java 日志:掌握本地与网络日志技术
  • 一文了解智慧教育顶刊TLT的研究热点