Perl:在数组中查找数字范围

丝光

在 Perl 中,如果我有一个排序的整数数组,是否有一种紧凑的方法可以将其转换为整数范围列表或数组

例如,假设我有:

my @numbers=(3,4,5,6,9,10,12,14,15,16,17);

我想要一种方法来确定存在的数字范围是:

3-6,9-10,12,14-17

我知道我可以通过 For 循环检查来检查它是否在两个数组元素之间出现间隙等。但在我这样做之前,我想我会看看是否有一些紧凑的符号或核心功能会做到这一点。

我宁愿不必加载任何非核心库。我正在使用 Cygwin Perl 5.22。

谢谢。

池上
my @ranges;
for (@numbers) {
   if (@ranges && $_ == $ranges[-1][1]+1) {
      ++$ranges[-1][1];
   } else {
      push @ranges, [ $_, $_ ];
   }
}

say join ',', map { $_->[0] == $_->[1] ? $_->[0] : "$_->[0]-$_->[1]" } @ranges;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在数组中查找特定数字?

来自分类Dev

在数组中查找数组的关联索引的数字键

来自分类Dev

查找范围中是否有任何值在数组中

来自分类Dev

在数组中查找日期范围并返回最左值的公式

来自分类Dev

如何使用用户输入在数组中查找范围?

来自分类Dev

在数组中查找数字(两位数)

来自分类Dev

在数字数组中查找不连续的元素:Ruby

来自分类Dev

Java Varargs:在数组中查找数字的索引

来自分类Dev

在数组中查找数字的最佳实践是什么?

来自分类Dev

在数组中按特殊顺序查找数字

来自分类Dev

Python在数组/列表中查找连续数字

来自分类Dev

在数组中查找特定重复数字的索引

来自分类Dev

如何在数组中查找缺失的数字

来自分类Dev

SQL-在数字范围内查找数字

来自分类Dev

查找列表指定的数字范围之间是否存在数字

来自分类Dev

SQL-在数字范围内查找数字

来自分类Dev

Excel公式在数字范围内查找数字

来自分类Dev

在数组中查找更高和更低的数字并存储在一个数组中

来自分类Dev

在数组中查找索引

来自分类Dev

在数组中查找模式

来自分类Dev

在数组中查找smarty

来自分类Dev

在数组中查找值

来自分类Dev

在数组中查找加起来等于给定数字的数字 C++

来自分类Dev

在数组perl中按数字对数字和按字母顺序排序

来自分类Dev

在数组中存储数字

来自分类Dev

在数组数组中查找丢失的数组

来自分类Dev

用户在数组中输入10个数字,我将如何编写代码以查找该数字并输出该数字在数组中的位置?

来自分类Dev

在数组/范围javascript中查找所有缺少的元素

来自分类Dev

MySQL - 在数字范围内查找最接近的匹配

Related 相关文章

热门标签

归档