56.合并区间

思路:先让二维数组进行排序;

遍历数组,定义一个min表示重合区间的左边界,max表示重合区间的右边界;

如果当前区间左边大于max,就证明重合区间断了,就要对它进行加入ArrayList;然后更新min和max就是当前数组的左边界和右边界。

反正,就证明是重合区间。更新max。

这里中了一个小坑:让当前区间的左边和上一个区间的右边作比较,来判断是不是重合区间。显然[1,6],[2,4],这种[2,4]被包含在重合区间里面,就只能用重合区间的右边界。

class Solution {public int[][] merge(int[][] intervals) {Arrays.sort(intervals,(a,b)->a[0]-b[0]);List<int[]> list=new ArrayList<>();int min=intervals[0][0];int max=intervals[0][1];for(int i=1; i<intervals.length; i++){if(intervals[i][0]>max){// list.add(new int[]{min,intervals[i-1][1]});list.add(new int[]{min,max});min=intervals[i][0];max=intervals[i][1];}else{max=Math.max(intervals[i][1],max);}}list.add(new int[]{min,max});return list.toArray(new int[list.size()][]);}
}

738.单调递增的数字

暴力法会超时!

可以借助字符串。

因为找一个数字的最大递增数字,就是让迭代让前一个数字-1并且后一个数字变成9,就可以实现。

思路:现将数字转变为字符串,然后从后往前遍历,如果遇到前一个数字比后一个数字大,就让当前数字-1,然后记录当前数字的位置start。

遍历完数字后,就可以再从start位置开始将后面的数字都变成9。

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

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

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

相关文章

【Unity项目经验分享】实现左右分屏裸眼3D程序

1、实现原理左右分屏原理&#xff0c;左右屏内容左右方向存在些许偏差。通过左右相机&#xff0c;然后左侧相机向左侧偏移一点3cm&#xff0c;右侧相机向右侧屏偏移一定3cm&#xff0c;然后将左右相机渲染内容通过RenderTexture渲染到Canvas上面的左右RawImage上面。2、实现具体…

设计软件启动失败?“找不到vcruntime140.dll,无法继续执行代码” 场景化解决方案来了

打游戏时&#xff0c;刚加载到登录界面就因 “找不到 vcruntime140.dll, 无法继续执行代码” 闪退&#xff1b;写代码时&#xff0c;编译工具突然报错中断工作&#xff1b;做设计时&#xff0c;PS、AE 启动失败弹出相同提示 —— 不同场景下的 vcruntime140.dll 错误&#xff0…

基于Echarts+HTML5可视化数据大屏展示-茶叶种植大数据溯源平台

效果展示&#xff1a;代码结构&#xff1a;主要代码实现 index.html布局 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta n…

PLOS One图片处理要求及处理办法

PLOS One图片处理&#xff1a; 要求&#xff1a;Please remove your figures from within your manuscript file, leaving only the individual TIFF/EPS image files. These will be automatically included in the reviewer’s PDF. 请从稿件文件中移除所有图表&#xff0c;…

AutoLayout与Masonry:简化iOS布局

Auto Layout 与 Masonry苹果提供的自动布局&#xff08;Auto Layout&#xff09;能够对视图进行灵活有效的布局。但是&#xff0c;使用原生的自动布局相关的语法创建约束的过程是非常冗长的&#xff0c;可读性也比较差。Masonry 的目标其实就是 为了解决原生自动布局语法冗长的…

从设计到落地:校园图书馆系统的面向对象实现全流程

很多小白学面向对象时总困惑&#xff1a;“类图、用例图我会画&#xff0c;但怎么把这些设计变成能跑的代码&#xff1f;” 这篇文章就用 “校园图书馆管理系统” 当例子&#xff0c;从需求分析→设计方案→代码实现→测试验证&#xff0c;带你走通 “设计→实现” 的完整链路&…

[鸿蒙心迹]带新人学鸿蒙的悲欢离合

2023年底&#xff0c;我和陆神&#xff0c;威哥&#xff0c;老罗一起去深圳参加了鸿蒙师资培训正式开启了鸿蒙之旅&#xff0c;当时和陆神拍的合照但是我把陆神打码了 学完以后就考取了鸿蒙的高级认证 看到没有时间是2023年11月 马上都要到期了。 想一想时间过得真快&#xff…

MindShow AI:AI思维导图生成工具高效解决思路混乱难题,快速搭建学习与工作大纲

你有没有过这种时候&#xff1f;想整理一份学习大纲或者项目方案&#xff0c;脑子裡一堆想法却散得像乱麻 —— 比如要做个 “数据分析入门规划”&#xff0c;明明知道要学 Excel、SQL、Python&#xff0c;可怎么分阶段、每个阶段学哪些重点&#xff0c;对着空白文档半天列不出…

快速搭建一个Vue+TS+Vite项目

1、在一个文件夹下通过cmd打开&#xff0c;输入命令npm create vitelatest命名要为英文2.选择项目框架通过上下键位选择Vue框架&#xff1a;选好按回车键3.选择开发语言选择TypeScript语言&#xff0c;方便后续开发&#xff1a;创建好的项目目录为&#xff1a;4.安装Vite依赖接…

深度学习:ResNet 残差神经网络详解

一、ResNet 残差神经网络的起源与核心地位ResNet&#xff08;Residual Neural Network&#xff0c;残差神经网络&#xff09;是 2015 年由微软亚洲研究院的何凯明、张祥雨等研究者提出的深度神经网络架构。在当年的 ImageNet 大规模视觉识别挑战赛&#xff08;ILSVRC&#xff0…

Python面试题及详细答案150道(116-125) -- 性能优化与调试篇

《前后端面试题》专栏集合了前后端各个知识模块的面试题,包括html,javascript,css,vue,react,java,Openlayers,leaflet,cesium,mapboxGL,threejs,nodejs,mangoDB,SQL,Linux… 。 前后端面试题-专栏总目录 文章目录 一、本文面试题目录 116. 如何查找Python程序的…

C++11 智能指针的使⽤及其原理

目录 1. 智能指针的使⽤场景分析 2. RAII和智能指针的设计思路 3. C标准库智能指针的使⽤ 4. 智能指针的原理 5. shared_ptr和weak_ptr 5.1 shared_ptr循环引⽤问题 5.2 weak_ptr 6. shared_ptr的线程安全问题 7. C11和boost中智能指针的关系 8. 内存泄漏 8.1 什么是…

【Linux】Linux进程状态和僵尸进程:一篇看懂“进程在忙啥”

前言&#xff1a;欢迎各位光临本博客&#xff0c;这里小编带你直接手撕Make/Makefile (自动化构建)&#xff0c;文章并不复杂&#xff0c;愿诸君耐其心性&#xff0c;忘却杂尘&#xff0c;道有所长&#xff01;&#xff01;&#xff01;&#xff01; **&#x1f525;个人主页&a…

开源视频剪辑工具推荐

开源视频剪辑和处理工具近年来发展非常迅速&#xff0c;许多工具的功能已经足以媲美甚至超越一些商业软件。以下是一些顶级的开源视频编辑和处理工具&#xff0c;涵盖了从简单易用到专业级别的不同需求。 一、 主要视频编辑软件&#xff08;非线性编辑&#xff0c;NLE&#xf…

第十四届蓝桥杯青少组C++国赛[2023.5.28]第二部分编程题(4、 数独填数)

参考程序&#xff1a;#include <bits/stdc.h> using namespace std;char board[9][9];// 检查在 (r,c) 填 num 是否有效 bool isValid(int r, int c, char num) {for (int i 0; i < 9; i) {if (board[r][i] num) return false; // 同行if (board[i][c] num) r…

C语言中奇技淫巧08-使用alloca/__builtin_alloca从栈上分配空间

alloca是什么? alloca 是一个非标准但广泛支持的 C 语言函数&#xff0c;用于在当前函数的栈&#xff08;stack&#xff09;上动态分配内存。 与 malloc 的区别&#xff1a; malloc 在堆&#xff08;heap&#xff09; 上分配内存&#xff0c;需要手动调用 free 释放。alloca 在…

【Markdown转Word完整教程】从原理到实现

Markdown转Word完整教程&#xff1a;从原理到实现 前言 在技术文档编写和学术论文创作中&#xff0c;Markdown因其简洁的语法和良好的可读性而广受欢迎。然而&#xff0c;在实际工作中&#xff0c;我们经常需要将Markdown文档转换为Word格式&#xff0c;以便与同事协作、提交正…

IBM穿孔卡片:现代计算技术的奠基之作

本文由「大千AI助手」原创发布&#xff0c;专注用真话讲AI&#xff0c;回归技术本质。拒绝神话或妖魔化。搜索「大千AI助手」关注我&#xff0c;一起撕掉过度包装&#xff0c;学习真实的AI技术&#xff01; 1 打孔卡概述 穿孔卡片&#xff08;Punch Card&#xff09;又称打孔卡…

亚马逊旺季来临如何用woot冲刺

在亚马逊旺季来临之际&#xff0c;使用Woot冲刺需结合新品推广、老品激活、库存清理等不同场景&#xff0c;通过精准选品、活动设置、广告配合及数据监控实现销量与排名的双重提升。以下是具体操作指南&#xff1a;一、精准选品&#xff1a;匹配提报条件新品期选品标准&#xf…

AlexNet:计算机视觉的革命性之作

AlexNet: Revolutionizing Deep Learning for Computer Vision (1)网络提出的背景 论文题目:ImageNet Classification with Deep Convolutional Neural Networks arXiv地址:https://arxiv.org/abs/1207.0575 在2012年ImageNet大规模视觉识别挑战赛(ILSVRC)中,AlexNet以15…