例如,我有一个数组
my @arr = qw(0 1 2 3 4);
如何获得以下组合:
0 01 012 0123 01234 1 12 123 1234 2 23 234 3 34 4
如果有的话,这种组合(或排列)的名称是什么?
永远感谢!
解决方法
使用数组切片:
#! /usr/bin/perl use warnings; use strict; my @arr = qw(0 1 2 3 4); my @result; for (my $i = 0; $i < @arr; $i++) { for (my $j = $i; $j < @arr; $j++) { push @result => [ @arr[$i .. $j] ]; } } print @$_,"\n" for @result;
输出:
0 01 012 0123 01234 1 12 123 1234 2 23 234 3 34 4