国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Leetcode 228 - Summary Ranges(Two pointers)

2019-11-08 03:13:11
字體:
來源:轉載
供稿:網友

題意

求數組內所有連續的范圍。

思路

用兩個指針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; }};
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 万盛区| 东光县| 民乐县| 阿巴嘎旗| 博罗县| 岱山县| 屯留县| 文成县| 秦安县| 南华县| 二连浩特市| 乌拉特前旗| 上思县| 邢台县| 麻江县| 萍乡市| 峡江县| 永福县| 灵武市| 孙吴县| 板桥市| 五家渠市| 凤凰县| 柳河县| 三原县| 彰化县| 德令哈市| 鞍山市| 大关县| 黄骅市| 屏山县| 忻城县| 营山县| 庐江县| 巴南区| 泸西县| 仁怀市| 芦溪县| 锡林浩特市| 曲水县| 蚌埠市|