C# 汇总区间
228 汇总区间
给定一个 无重复元素 的 有序 整数数组 nums 。
返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于 nums 的数字 x 。
列表中的每个区间范围 [a,b] 应该按如下格式输出:
“a->b” ,如果 a != b
“a” ,如果 a == b
示例 1:
输入:nums = [0,1,2,4,5,7]
输出:[“0->2”,“4->5”,“7”]
解释:区间范围是:
[0,2] --> “0->2”
[4,5] --> “4->5”
[7,7] --> “7”
示例 2:
输入:nums = [0,2,3,4,6,8,9]
输出:[“0”,“2->4”,“6”,“8->9”]
解释:区间范围是:
[0,0] --> “0”
[2,4] --> “2->4”
[6,6] --> “6”
[8,9] --> “8->9”
提示:
0 <= nums.length <= 20
-231 <= nums[i] <= 231 - 1
nums 中的所有值都 互不相同
nums 按升序排列
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/summary-ranges
解决方案:
提供思路
当我在提交代码的时候,程序报错了,仔细一看,发现nums是一个空数组。另外还有一种特殊情况,就是数组只有一个数字的时候,这样子就直接输出就好了。解题时最主要的步骤是判断当前数字是否为数组的下一项数字的前一位,满足了就继续,不满足就输出已满足的最大项。
上代码:
public class Solution
{public IList<string> SummaryRanges(int[] nums){List<string> list = new List<string>();if (nums.Length == 0){return list;}else if (nums.Length == 1){list.Add(nums[0].ToString());return list;}int start = nums[0];int cache = nums[0];bool CanContinue = false;for (int i = 0; i < nums.Length; i++){if (i == 0){if (nums[i + 1] != nums[i] + 1){list.Add(nums[i].ToString());}continue;}int num = nums[i];if (num - cache == 1){cache = num;CanContinue = true;if (nums.Length == i + 1){list.Add(start.ToString() + "->" + cache.ToString());}}else{if (CanContinue){list.Add(start.ToString() + "->" + cache.ToString());CanContinue = false;}start = num;cache = num;if ((nums.Length > i + 1 && nums[i + 1] != nums[i] + 1) || (nums.Length == i + 1)){list.Add(nums[i].ToString());}}}return list;}
}
个人感悟:开始不知所云,说人话就是,123这种连在一起的就输入 1—>3,如果不连续了,1,3这种就直接输出1,3。是不是就没那么闹心了?然后考虑下空数组。
以上是碰到的第二百二十八题,后续持续更新。感觉对你有帮助的小伙伴可以帮忙点个赞噢!

相关文章:
C# 汇总区间
228 汇总区间 给定一个 无重复元素 的 有序 整数数组 nums 。 返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于 nums 的数字 x 。 列表中的每个区间范围…...
加利福尼亚大学|3D-LLM:将3D世界于大规模语言模型结合
来自加利福尼亚大学的3D-LLM项目团队提到:大型语言模型 (LLM) 和视觉语言模型 (VLM) 已被证明在多项任务上表现出色,例如常识推理。尽管这些模型非常强大,但它们并不以 3D 物理世界为基础,而 3D 物理世界涉及更丰富的概念…...
HCIA实验四
一.实验要求: 1、R4为ISP,其上只能配置IP地址;R4与其他所有直连设备间均使用共有IP; 2、R3 - R5/6/7为MGRE环境,R3为中心站点; 3、整个网络配置OSPF环境,IP基于172.16.0.0/16网段划分&#x…...
常见的算法
查找算法 基本查找 Demo1 public static boolean basicSearch(int index,int[] arr){for (int i 0; i < arr.length; i) {if (indexarr[i]){return true;}}return false; } Demo2 //顺序查找,考虑重复,返回查找内容的索引 public static ArrayLis…...
Jetbrains 2023.2教程
IDEA 2023.2 激活演示 Pycharm 2023.2 激活演示 WebStorm 2023.2 激活演示 Clion 2023.2 激活演示 DataGrip 2023.2 PhpStorm 2023.1.4 激活演示(2023.2尚未发布) RubyMine 2023.2 激活演示 获取方式 仔细看每一个工具演示的图片 本文由 mdnice …...
OpenLayers入门,OpenLayers地图初始化时如何设置默认缩放级别、设置默认地图中心点、最大缩放级别和最小缩放级别以及默认坐标系
专栏目录: OpenLayers入门教程汇总目录 前言 OpenLayers地图初始化时如何设置默认缩放级别、初始化时设置默认地图中心点、设置最大缩放级别和最小缩放级别,超过缩放级别用户无法再放大和缩小,和设置默认坐标系。 二、依赖和使用 "ol": "^6.15.1"使用…...
css实现步骤条中的横线
实现步骤中的横线,我们使用css中的after选择器,content写空,然后给这个范围设定一个绝对定位,相当于和它设置伪类选择的元素的位置,直接看代码: const commonStyle useMemo(() > ({fontSize: 30px}),[]…...
【业务功能篇57】Springboot + Spring Security 权限管理 【上篇】
4.权限管理模块开发 4.1 权限管理概述 4.1.1 权限管理的意义 后台管理系统中,通常需要控制不同的登录用户可以操作的内容。权限管理用于管理系统资源,分配用户菜单、资源权限,以及验证用户是否有访问资源权限。 4.1.2 RBAC权限设计模型 …...
云计算需求激增带来的基础设施挑战及解决方案
云计算的指数级增长迅速改变了我们消费和存储数字信息的方式。随着企业和个人越来越依赖基于云的服务和数据存储,对支持这些服务的强大且可扩展的基础设施的需求已达到前所未有的水平。 云计算需求的快速增长 我们的日常生活越来越多地被新技术所渗透。流媒体服务、…...
R语言中的函数23:zoo::rollmean, rollmax, rollmedian, rollsum等等
文章目录 函数介绍rollmean()rollmax()rollmedianrollsum 函数介绍 rollmean(x, k, fill if (na.pad) NA, na.pad FALSE, align c("center", "left", "right"), ...)rollmax(x, k, fill if (na.pad) NA, na.pad FALSE, align c("cen…...
数据结构—数组和广义表
4.2数组 数组:按一定格式排列起来的,具有相同类型的数据元素的集合。 **一维数组:**若线性表中的数据元素为非结果的简单元素,则称为一维数组。 **一维数组的逻辑结构:**线性结构,定长的线性表。 **声明…...
服务器负载均衡算法有哪些
算法举例 服务器负载均衡算法是用于分配网络流量到多个服务器的策略,以实现负载均衡和提高系统性能。以下是一些常见的服务器负载均衡算法的详细说明: 轮询(Round Robin)算法: 轮询算法是最简单且常见的负载均衡算法之…...
2023年深圳杯数学建模B题电子资源版权保护问题
2023年深圳杯数学建模 B题 电子资源版权保护问题 原题再现: 版权又称著作权,包括发表权、署名权、修改权、保护作品完整权、复制权、发行权、出租权、展览权、表演权、放映权、广播权、信息网络传播权、摄制权、改编权、翻译权、汇编权及应当由著作权人…...
Easyui中datagrid切换页码后,再次根据其他条件查询,重置为第一页,序号从1开始显示
Easyui中datagrid切换页码后,再次根据其他条件查询,无法将序号重置为1开始显示 1、查询按钮2、datagrid的查询方法3、datagrid点击分页4、重置方法 1、查询按钮 <a href"javascript:Query(1,true)" id"btnQuery" class"eas…...
随笔03 考研笔记整理
图源:文心一言 上半年的博文整理,下半年依然会更新考研类的文章,有需要的小伙伴看向这里~~🧩🧩 另外,这篇文章可能是我上半年的努力成果之一,因此仅关注博主的小伙伴能够查看它~~ᾞ…...
一次线上OOM问题的个人复盘
我们一个java服务上线后,偶尔会发生内存OOM(Out Of Memory)问题,但由于OOM导致服务不响应请求,健康检查多次不通过,最后部署平台kill了java进程,这导致定位这次OOM问题也变得困难起来。 最终,在多次review代…...
【机器学习】基础知识点的汇总与总结!更新中
文章目录 一、监督学习1.1、单模型1.1.1、线性回归1.1.2、逻辑回归(Logistic Regression)1.1.3、K近邻算法(KNN)1.1.4、决策树1.1.5、支持向量机(SVM)1.1.6、朴素贝叶斯 1.2、集成学习1.2.1、Boosting1&…...
NLP杂记
来京一周余,初病将愈,终跑通llama及ViT,记于此—— 之前都是做的图像,大模型迁移基本上都是NLP相关的知识,很多东西和CV差距还是有点,再加上大模型对算力要求较高,基于云的操作对我一个习惯在本…...
算法通过村第二关-链表白银笔记
文章目录 再战链表|反转链表剑指 Offer II 024. 反转链表熟练掌握这两种解法建立头节点的解决思路不采用建立头节点的方法采用循环/递归的方式解决 总结 再战链表|反转链表 提示:多拿些酒来,因为生命只有乌有。 剑指 Offer II 024. 反转链表 如果不使用…...
力扣题库刷题笔记75--颜色分类
1、题目如下: 2、个人Pyhon代码实现如下: 第一种思路是取巧,通过计数0、1、2的个数,去替换nums 备注第10行代码在本地可以跑过,但是力扣跑不过,所以就用了第10-16行代码进行替换 第二种思路是通过冒泡排序去…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
MySQL 8.0 OCP 英文题库解析(十三)
Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...
学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...
视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)
前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块,…...
【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制
使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下,限制某个 IP 的访问频率是非常重要的,可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案,使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...
C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...
C# 表达式和运算符(求值顺序)
求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如,已知表达式3*52,依照子表达式的求值顺序,有两种可能的结果,如图9-3所示。 如果乘法先执行,结果是17。如果5…...
Vue3 PC端 UI组件库我更推荐Naive UI
一、Vue3生态现状与UI库选择的重要性 随着Vue3的稳定发布和Composition API的广泛采用,前端开发者面临着UI组件库的重新选择。一个好的UI库不仅能提升开发效率,还能确保项目的长期可维护性。本文将对比三大主流Vue3 UI库(Naive UI、Element …...
生信服务器 | 做生信为什么推荐使用Linux服务器?
原文链接:生信服务器 | 做生信为什么推荐使用Linux服务器? 一、 做生信为什么推荐使用服务器? 大家好,我是小杜。在做生信分析的同学,或是将接触学习生信分析的同学,<font style"color:rgb(53, 1…...
