Leetcode 228 - Summary Ranges(Two pointers)
来源:互联网 发布:软件 安全性设计文档 编辑:程序博客网 时间:2024/05/19 07:07
题意
求数组内所有连续的范围。
思路
用两个指针i和j,分别指向每个范围的开始位置和结束位置就好。然后去遍历数组。
string to_string(int x)
:将x转化为一个string返回。
细节
注意只有一个元素或者j指向最后一个元素的情况。
因此我们在遍历数组的时候,可以用j == n作为终止条件,并且终止条件特判一下避免出错。
代码
class Solution {private: vector<string> ans; int n;public: void convert(int x, int y) { string s = to_string(x); if (x != y) { s += "->"; s += to_string(y); } ans.push_back(s); } vector<string> summaryRanges(vector<int>& nums) { n = nums.size(); if (n) { int i = 0, j = 1; while (j <= n) { if (j == n) convert(nums[i], nums[j - 1]); else { if (nums[j] != nums[j - 1] + 1) { convert(nums[i], nums[j - 1]); i = j; } } j++; } } return ans; }};
0 0
- Leetcode 228 - Summary Ranges(Two pointers)
- LeetCode(228) Summary Ranges
- leetcode 228: Summary Ranges
- Leetcode 228 Summary Ranges
- LeetCode 228: Summary Ranges
- Summary Ranges - LeetCode 228
- leetcode[228]:Summary Ranges
- leetcode 228:Summary Ranges
- Summary Ranges(leetcode 228)
- Leetcode #228 Summary Ranges
- leetCode #228 Summary Ranges
- leetcode 228: Summary Ranges
- [Leetcode]#228 Summary Ranges
- Leetcode 228 Summary Ranges
- [LeetCode 228] Summary Ranges
- 【LeetCode】228 Summary Ranges
- LeetCode 228 Summary Ranges
- [leetcode 228] Summary Ranges
- SAP CRM 忠诚度相关表的关系图
- 自我成长之简单工厂模式
- DBSCAN聚类算法原理及其实现
- 清除浮动
- linux shell重定向 1>&2 2>&1
- Leetcode 228 - Summary Ranges(Two pointers)
- WebRTC手记之本地音频采集
- ssh可以登录,但是scp不行,解决方案
- 如何使错误日志更加方便排查问题
- Oracle存储过程调用bat批处理脚本程序
- C语言点滴
- listView回到第一个item
- zookeeper三:zkClient的使用
- fastdfs安装