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;
    }
};

运行结果


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

相关推荐
垆边人似月.2 分钟前
华为题:无重复字符的最长子串变种
算法
IOT那些事儿6 分钟前
C++17和20版本差异
c++·mingw·msvc
糖果豆豆8 分钟前
灾难性遗忘不是"新旧打架"——旧知识记不住,是因为它没长成"环"
算法
上海光华专利事务所8 分钟前
【商标视点】商标命名和商标通过率的实务分析与启示
经验分享
垆边人似月.9 分钟前
华为题:任务调度
数据结构·c++·算法
垆边人似月.11 分钟前
华为题:编辑距离
算法·华为
会灭火的程序员11 分钟前
大模型部署硬件资源计算指南:从显存估算到显卡选型
人工智能·算法
迪康coolmu17 分钟前
迪康Defender网络准入控制系统落地实战:部署、配置与问题排查记录
运维·开发语言·网络·经验分享·php
信奥卷王19 分钟前
[GESP202506 六级] 最大因数(含视频)
数据结构·算法
局部有解25 分钟前
Leetcode - 42 接雨水(一维)
数据结构·c++·算法·leetcode