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

运行结果


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

相关推荐
卡梅德生物科技小能手22 分钟前
卡梅德生物科普 Zaire Ebola Virus(扎伊尔埃博拉病毒)|病毒抗原科研实践参考
经验分享·深度学习·生活
深圳市快瞳科技有限公司32 分钟前
个体识别、行为解读、健康管理:多模态宠物AI大模型的场景化落地
人工智能·算法·计算机视觉·大模型·多模态·宠物·宠物ai识别
wangwangmoon_light36 分钟前
1.1 灵神题单总结_滑动窗口与双指针
leetcode
liulilittle38 分钟前
归一化:激活函数
人工智能·算法·机器学习·llm
郝学胜-神的一滴1 小时前
中级OpenGL教程 030:gl_FragCoord解锁区域渲染与深度可视化新姿势
c++·unity·游戏引擎·图形渲染·unreal engine·opengl
LccKyI1 小时前
C#学习day04
经验分享·笔记·学习·c#
不会代码的小猴2 小时前
11. 类和动态内存分配
开发语言·c++
Mem0rin2 小时前
前缀和:一维与二维
数据结构·算法
小趴蔡ha2 小时前
12 K-Means 聚类入门:没有标签如何发现数据分组
算法·kmeans·聚类
鱼子星_2 小时前
【C++】stack和queue的应用及其模拟实现:适配器与容器适配器
数据结构·c++·笔记·stl