国产探花免费观看_亚洲丰满少妇自慰呻吟_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; }};
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 湘乡市| 花垣县| 大余县| 白银市| 雷州市| 元氏县| 邻水| 琼结县| 永靖县| 红安县| 仲巴县| 兴宁市| 青岛市| 古交市| 洱源县| 穆棱市| 同江市| 林周县| 宜城市| 龙胜| 海城市| 扶绥县| 普兰县| 屯留县| 金华市| 颍上县| 平阴县| 盐城市| 富阳市| 神木县| 伊春市| 织金县| 浦县| 奇台县| 宜阳县| 湟源县| 鸡东县| 常州市| 汉川市| 衡水市| 玛多县|