228. Summary Ranges
Given a sorted integer array without duplicates, return the summary of its ranges.
For example, given
[0,1,2,4,5,7]
, return["0->2","4->5","7"].
这个题目不难,首先对原序列进行排序,然后要注意对特殊情况的处理。同时,要掌握string类的几个重要成员函数:
- to_string():将数字转换为string对象
- append():向string对象追加字符串
class Solution { public: vector<string> summaryRanges(vector<int>& nums) { int n = nums.size(); if (n == 0) return vector<string>(); vector<string> res; sort(nums.begin(), nums.end()); for (int i = 0, j = 0; i <= j && j <= n-1; ) { while (j <= n-2 && nums[j+1] == nums[j] + 1) { ++j; } string tmp; if (j > i) { tmp.append(to_string(nums[i])); tmp.append("->"); tmp.append(to_string(nums[j])); ++j; i = j; } else { tmp.append(to_string(nums[i])); ++i; ++j; } res.push_back(tmp); } return res; } };
分类:
数据结构与算法
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】Flutter适配HarmonyOS 5知识地图,实战解析+高频避坑指南
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合终身会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 聊一聊 Linux 上对函数进行 hook 的两种方式
· C# 锁机制全景与高效实践:从 Monitor 到 .NET 9 全新 Lock
· 一则复杂 SQL 改写后有感
· golang中写个字符串遍历谁不会?且看我如何提升 50 倍
· C# 代码如何影响 CPU 缓存速度?
· 突发,CSDN 崩了!程序员们开始慌了?
· 一个基于 .NET 8 + Ant Design Blazor 开发的简洁现代后台管理框架
· C# WinForms 实现打印监听组件
· 鸿蒙Next仓颉语言开发实战教程:订单详情
· 网易游戏DB SaaS引入OceanBase:存储成本降60%,备份恢复提速3倍