博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Summary Ranges
阅读量:5275 次
发布时间:2019-06-14

本文共 1181 字,大约阅读时间需要 3 分钟。

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
summaryRanges(int[] nums) { List
res = new ArrayList
(); 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

你可能感兴趣的文章
table中checkbox选择多行
查看>>
Magento开发文档(三):Magento控制器
查看>>
性能调优攻略
查看>>
ie6解决png图片透明问题
查看>>
瞬间的永恒
查看>>
2019-8-5 考试总结
查看>>
JS中实现字符串和数组的相互转化
查看>>
web service和ejb的区别
查看>>
Windows Azure Cloud Service (29) 在Windows Azure发送邮件(下)
查看>>
CS61A Efficiency 笔记
查看>>
ArcGIS Server Javascript 多图对比功能
查看>>
微信上传素材返回 '{"errcode":41005,"errmsg":"media data missing"}',php5.6返回
查看>>
div或者p标签单行和多行超出显示省略号
查看>>
Elasticsearch 滚动重启 必读
查看>>
Hadoop基本概念
查看>>
java.util.zip压缩打包文件总结一:压缩文件及文件下面的文件夹
查看>>
浅说 apache setenvif_module模块
查看>>
MySQL--数据插入
查看>>
重新学习python系列(二)? WTF?
查看>>
shell脚本统计文件中单词的个数
查看>>