Summary Ranges
生活随笔
收集整理的這篇文章主要介紹了
Summary Ranges
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
https://leetcode.com/problems/summary-ranges/
Given a sorted integer array without duplicates, return the summary of its ranges.
For example, given?[0,1,2,4,5,7], return?["0->2","4->5","7"].
解題思路:
這道題很簡單,是比較典型的雙指針題目。
要注意的就是,如何在數組只有一個元素,還有遍歷到最后一個元素的時候,去更新結果集。
我這里比較的是第i個元素和i-1個元素的值。所以循環條件可以改成i<=nums.length,也就是比實際元素的下標+1。這樣i==nums.length-1的時候,nums[i]雖然不存在,可以認為i-1就是end,強行更新。
public class Solution {public List<String> summaryRanges(int[] nums) {List<String> res = new ArrayList<String>();int start = 0;for(int i = 1; i <= nums.length; i++) {if(i == nums.length || nums[i] > nums[i - 1] + 1) {StringBuilder cur = new StringBuilder();if(i - 1 == start) {cur.append(nums[start]);res.add(cur.toString());} else {cur.append(nums[start]);cur.append("->");cur.append(nums[i - 1]);res.add(cur.toString());}start = i;}}return res;} }?
轉載于:https://www.cnblogs.com/NickyYe/p/4601865.html
總結
以上是生活随笔為你收集整理的Summary Ranges的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 能力素质模型咨询工具(Part 2)
- 下一篇: 显示和隐藏系统任务栏的类