石家庄网站建设培训,微商分销平台,广东app开发公司排行榜,网站设计哪家强2023每日刷题#xff08;五十六#xff09;
Leetcode—228.汇总区间 解题思路
我们可以用双指针left 和 right找出每个区间的左右端点。
遍历数组#xff0c;当right 1 n 且 nums[right1]nums[right]1 时#xff0c;指针right向右移动#xff0c;否则区间 [left, …2023每日刷题五十六
Leetcode—228.汇总区间 解题思路
我们可以用双指针left 和 right找出每个区间的左右端点。
遍历数组当right 1 n 且 nums[right1]nums[right]1 时指针right向右移动否则区间 [left, right] 已经找到将其加入答案然后将指针left移动到right 1的位置继续寻找下一个区间。
实现代码
class Solution {
public:vectorstring summaryRanges(vectorint nums) {vectorstring 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;}
};运行结果 之后我会持续更新如果喜欢我的文章请记得一键三连哦点赞关注收藏你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 ↖(▔▽▔)↗感谢支持