当前位置:  开发笔记 > 编程语言 > 正文

如何将整数数组显示为一组范围?(算法)

如何解决《如何将整数数组显示为一组范围?(算法)》经验,为你挑选了1个好方法。

给定一个整数数组,迭代它并找出它涵盖的所有范围的最简单方法是什么?例如,对于如下数组:

$numbers = array(1,3,4,5,6,8,11,12,14,15,16);

范围是:

 1,3-6,8,11-12,14-16

Dima.. 14

如果数组按升序排序,则问题很容易.定义一个Range结构或类,它有一个开头和一个结尾.然后浏览阵列.如果当前元素比前一个元素多一个,则更新Range.end,否则使用此元素创建一个新范围Range.begin.将范围存储到动态数组或链接列表.或者只是随时打印出来.

如果可能未对数组进行排序,请先对其进行排序.



1> Dima..:

如果数组按升序排序,则问题很容易.定义一个Range结构或类,它有一个开头和一个结尾.然后浏览阵列.如果当前元素比前一个元素多一个,则更新Range.end,否则使用此元素创建一个新范围Range.begin.将范围存储到动态数组或链接列表.或者只是随时打印出来.

如果可能未对数组进行排序,请先对其进行排序.

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有