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

运行结果


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

相关推荐
anew___4 分钟前
《从零手写操作系统 (30):环境变量与进程上下文——export/unset与继承语义》
java·开发语言·网络·jvm·算法
垆边人似月.16 分钟前
城市连通性(200分 / 并查集)
数据结构·算法·图论
我命由我1234517 分钟前
Photoshop - Photoshop 使用简单的选择工具
学习·职场和发展·产品运营·求职招聘·职场发展·学习方法·photoshop
西西弗Sisyphus19 分钟前
Qt6 实现 会动的界面像物理世界一样
c++·qt
UIU11427 分钟前
头文件可以防什么错?运用头文件做声明
c++·学习·c#
Gust of wind31 分钟前
串与KMP模式匹配:存储结构、基本操作、next数组手算
c语言·数据结构·后端·算法
我命由我1234534 分钟前
Photoshop - Photoshop 使用工具
学习·职场和发展·产品运营·求职招聘·职场发展·产品经理·学习方法
Navigator_Z37 分钟前
LeetCode //C - 1283. Find the Smallest Divisor Given a Threshold
c语言·算法·leetcode
cc5725026531 小时前
2027 秋招|大数据 / 统计类专业运营管培群面,数据思维落地方法
面试·职场和发展
by209991 小时前
list:迭代器与资源管理实现的综合叙述(下)
数据结构·c++·笔记·list