C/C++ 汇总区间-返回恰好覆盖数组中所有数字的最小有序区间范围列表

news2024/9/29 23:28:22

给定一个无重复元素的有序数数组ums。返回恰好覆盖数组中所有数字的最小有序区间范围列表。
也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于 nums 的数字x。

列表中的每个区间范围 [a,b] 应该按如下格式输出:
    如果 a != b:"a->b" 
    如果 a == b: "a" 

示例 1:
    输入:nums = [0,1,2,4,5,7]
    输出:["0->2","4->5","7"]


示例 2:
    输入:nums = [0,2,3,4,6,8,9]
    输出:["0","2->4","6","8->9"]

示例 3:
    输入:nums = [-1]
    输出:["-1"]

解析: 嵌套循环查找

示例源码:

// Len_summaryRanges.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>
#include <vector>
using namespace std;


vector<string> summaryRanges(vector<int>& nums) 
{

	vector<string> result;
	char data[27] = { '0' };
	for (int i = 0; i < nums.size(); i++)
	{

		int count = 1;
		while (i + count < nums.size() && nums[i + count] == nums[i] + count)
		{
			count++;
		}

		if (i == i + count - 1) sprintf(data, "%d", nums[i]);
		else sprintf(data, "%d->%d", nums[i], nums[i + count - 1]);
		result.push_back(data);
		i = i + count - 1;
	}
	return result;
}

void PrintStr(vector<int>& data, vector<string>& result)
{
	printf("\ndata = [");
	for (int i = 0; i < data.size(); i++)
	{
		printf("%d", data[i]);
		if (i != data.size() - 1)
		{
			printf(",");
		}
	}
	printf("]");


	printf("\nResult = [");
	for (int i = 0; i < result.size(); i++)
	{
		printf("\"%s\"", result[i].c_str());
		if (i != data.size() - 1)
		{
			printf(",");
		}
	}
	printf("]\n");
}
int main()
{
	vector<int> data = { 0,1,2,4,5,7 };
	vector<string> result = summaryRanges(data);
	PrintStr(data, result);

	data = { -1 };
	result = summaryRanges(data);
	PrintStr(data, result);

}

执行结果:

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

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

相关文章

zabbix——实现高效网络监控

在当今的数字化时代&#xff0c;网络和服务器的健康状况对于企业的正常运营至关重要。为了及时发现和解决潜在的问题&#xff0c;许多企业选择使用网络监控工具来追踪服务器的性能和网络参数。其中&#xff0c;Zabbix是一个功能强大且开源的网络监控工具&#xff0c;被广泛应用…

unity 2d 入门 飞翔小鸟 死亡闪烁特效(十三)

一、c#脚本 using System.Collections; using System.Collections.Generic; using UnityEngine;public class Bling : MonoBehaviour {public Texture img;public float speed;public static bool changeWhite false;private float alpha0f;// Start is called before the fi…

EasyRecovery(数据恢复软件) 2024中文绿色无需激活版下载

EasyRecovery是一款功能强大且专业的数据恢复软件&#xff0c;软件能够对电脑误删的文件进行恢复&#xff0c;包括格式化硬盘是数据恢复、手机U盘数据恢复等&#xff0c;小编今天给大家带来的是根据官软件解压后直接使用。感兴趣的朋友快来下载使用吧。 EasyRecovery-2024mac最…

PCL显示double类型的点云方案

前言 我们知道&#xff0c;PCL和OpenGL等三维可视化软件一样&#xff0c;为了兼顾性能需求&#xff0c;只支持加载Float类型的点云数据&#xff0c;但是当我们对精度要求太高时&#xff0c;Float类型支持不了我们的精度要求&#xff0c;我们的数据必须用Double类型存储才可以&…

Vue 3 开发中遇到的问题及解决方案(fix bug)

开发环境&#xff1a;mac系统&#xff0c;node版本&#xff1a; 16.15.0 版本兼容问题 vite v3.2.4 building for development... hasInjectionContext is not exported by node_modules/pinia/node_modules/vue-demi/lib/index.mjs, imported by node_modules/pinia/dist/pini…

【MySQL命令】show slave status\G 超详细全面解释

这个命令是DBA日常运维中常用来查看主从状态的命令&#xff0c;很多备份&#xff0c;监控工具也会使用到该命令监控主从状态是否正常&#xff0c;主从延迟&#xff0c;获取位点信息等。作为常用日常命令&#xff0c;一定要完全理解该命令的输出。今天主要结合 官方文档 和 实际…

AndroidStudio使用小技巧(持续更新中)

改过一次后&#xff0c;当时还记着&#xff1b;再拿起来&#xff0c;就忘记了。还是记下来吧。 使用鼠标滚轮设置文本的字体大小 左上角 File->Setting->Editor 启动时设置是否自动打开项目 老版本AS会有 Reopen last project on startup新版本AS有 Reopen projects o…

Stable Diffusion - High-Resolution Image Synthesis with Latent Diffusion Models

Paper name High-Resolution Image Synthesis with Latent Diffusion Models Paper Reading Note Paper URL: https://arxiv.org/abs/2112.10752 Code URL: https://github.com/CompVis/latent-diffusion TL;DR 2021 年 runway 和慕尼黑路德维希马克西米利安大学出品的文…

《从入门到精通:AJAX基础知识解析,前端开发中利器》基础篇

目录 学习目标&#xff1a; 学习目录&#xff1a; 学习时间&#xff1a; 学习内容&#xff1a; 什么是 AJAX&#xff1f; 怎么用 AJAX &#xff1f; 认识 URL 协议 域名 资源路径 获取 - 新闻列表 URL 查询参数 axios&#xff0d;查询参数 常用请求方法和数据提…

【docker】镜像使用(Nginx 示例)

查看本地镜像列表 docker images删除本地镜像 # docker rmi [容器 ID]docker rmi a6bd71f48f68 查找镜像 docker search nginx 参数介绍 NAME: 镜像仓库源的名称DESCRIPTION: 镜像的描述OFFICIAL: 是否 docker 官方发布STARS: 点赞、喜欢AUTOMATED: 自动构建。 拉去镜像 …

动态雨滴个人主页导航页

资源入口 动态雨滴玻璃掉落主页&#xff0c;和之前的两个一个性质&#xff0c;css全部重构&#xff0c;canvas绘制的下雨背景&#xff0c;可以自己去换图片。 原版&#xff1a; 已二次开发&#xff08;可添加多个导航格及自适应手机端&#xff09; ------本页内容已结束&#x…

DHTMLX Suite v8.3发布!深化JavaScript UI小部件库使用体验

DHTMLX UI 组件库允许您更快地构建跨平台、跨浏览器 Web 和移动应用程序。它包括一组丰富的即用式 HTML5 组件&#xff0c;这些组件可以轻松组合到单个应用程序界面中。 DHTMLX Suite v8.3已于近日正式发布啦&#xff01;这个更新附带了一组新特性和改进&#xff0c;旨在促进您…

销售技巧培训之如何提升网络销售技巧

销售技巧培训之如何提升网络销售技巧 随着互联网的普及&#xff0c;网络销售已经成为了一种重要的销售方式。对于许多企业来说&#xff0c;网络销售已经成为了一种重要的销售渠道。但是&#xff0c;要想在网络销售中取得成功&#xff0c;就需要掌握一些网络销售技巧。本文将介…

php 和 python 跨界 合作 phpy搭建 已解决

需求介绍 1、在日常功能开发中&#xff0c;难免会使用python的计算库&#xff0c;同时自己要是一名PHP开发工程师。就在最近有相应的需求&#xff0c;索性使用phpy来进行功能开发 安装 windows版本 phpy 是识沃团队最新推出的开源项目&#xff0c;目标是为 PHP 引入 Python 生…

『App自动化测试之Appium应用篇』| 元素定位工具uiautomatorviewer从简介、特点、启动到使用的完整过程

『App自动化测试之Appium应用篇』| 元素定位工具uiautomatorviewer从简介、安装、配置到使用的完整过程 1 uiautomatorviewer简介2 uiautomatorviewer特点3 uiautomatorviewer启用4 Work Bar5 Screenshot6 控件布局7 控件属性8 连接设备9 Error while obtaining UI问题排查 1 u…

客户端游戏开发者要不要学习服务端开发的相关技能?

引言 大家好&#xff0c;今天继续分享点个人经验。 玩过游戏的小伙伴都知道&#xff0c;游戏会有单机和联网之分。 单机游戏通常以高质量3A大作著称&#xff0c;它的特点是独立的运行环境&#xff0c;不受网络的限制。 联机游戏则以全球互联、实时同步以及社交互动等特点发…

2023.12.12 关于 Java 反射详解

目录 基本概念 定义 用途 反射相关的类 反射基本原理 Class 类中的相关方法 常用获得类相关的方法 常用获得类中属性相关的方法 常用获得类中构造器相关的方法 常用获得类中方法相关的方法 实例理解 反射优缺点 基本概念 定义 Java 的反射&#xff08;reflection&a…

Unity 置顶OpenFileDialog文件选择框

置顶文件选择框 &#x1f32d;处理前&#x1f959;处理后 &#x1f32d;处理前 &#x1f959;处理后 解决方案

持续集成交付CICD:CentOS 7 安装SaltStack

目录 一、理论 1.SaltStack 二、实验 1.主机一安装master 2.主机二安装第一台minion 3.主机三安装第二台minion 4.测试SaltStack 一、理论 1.SaltStack &#xff08;1&#xff09;概念 SaltStack是基于python开发的一套C/S自动化运维工具&#xff0c;通信采用了zerom…

【谭浩强C语言:前八章编程题(多解)】

文章目录 第一章1. 求两个整数之和(p7) 第二章2. 求三个数中的较大值&#xff08;用函数&#xff09;(p14、p107)3.求123...n(求n的阶乘&#xff0c;用for循环与while循环)(P17)1.循环求n的阶乘2.递归求n的阶乘(n< 10) 4.有M个学生&#xff0c;输出成绩在80分以上的学生的学…