Leetcode—228.汇总区间【简单】

2023每日刷题(五十六)

Leetcode---228.汇总区间

解题思路

我们可以用双指针left 和 right找出每个区间的左右端点。

遍历数组,当right + 1< n 且 numsright+1=numsright+1 时,指针right向右移动,否则区间 left, right 已经找到,将其加入答案,然后将指针left移动到right + 1的位置,继续寻找下一个区间。

实现代码

cpp 复制代码
class Solution {
public:
    vector<string> summaryRanges(vector<int>& nums) {
        vector<string> ans;
        auto f = [&](int i, int j) {
            return (i == j) ? to_string(i): to_string(i) + "->" + to_string(j);
        };
        int left = 0, right = 0;
        for(; left < nums.size(); left = right + 1) {
            right = left;
            while(right + 1 < nums.size() && nums[right] + 1 == nums[right + 1]) {
                right++;
            }
            ans.emplace_back(f(nums[left], nums[right]));
        }
        return ans;
    }
};

运行结果


之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

相关推荐
TAN-90°-4 分钟前
Deep Learning for Computer Vision——Generative Models 2
人工智能·深度学习·神经网络·算法·目标检测·机器学习·计算机视觉
明天再做行么6 分钟前
AI电商资源合集
经验分享
Rabitebla12 分钟前
【Linux系统编程】指令(三):创建、删除、复制、移动、看内容
linux·数据结构·c++·算法
程序员老陆17 分钟前
CMake 常用关键字与命令全景:从 set到 target_link_options的现代工程视角
c++·cmake·程序开发
圣保罗的大教堂44 分钟前
leetcode 1401. 圆和矩形是否有重叠 中等
leetcode
qq_410194291 小时前
.NET 8.0 下基于 PaddleOCRSharp 的离线文字识别落地指南
算法·.net
小李不想当小白1 小时前
PCB结构与组成(PCB设计入门学习笔记)
经验分享·笔记·单片机·嵌入式硬件·学习·pcb工艺·pcb
Omics Pro1 小时前
1个月2轮融资!长寿虚拟细胞
数据库·人工智能·算法·机器学习·自然语言处理
residual_fan1 小时前
航空发动机故障诊断专用智能体(六):实际机队健康管理中的应用考量与展望
人工智能·算法·数据挖掘·数据分析
码匠许师傅1 小时前
【C++三方组件】cxxopts:轻量首选的命令行解析
c++