diff options
| author | Luca Ferrari <fluca1978@gmail.com> | 2022-12-19 10:28:09 +0100 |
|---|---|---|
| committer | Luca Ferrari <fluca1978@gmail.com> | 2022-12-19 10:28:09 +0100 |
| commit | 4ceffc0526ec27e141debda11936c854940ec637 (patch) | |
| tree | e8eace5f30c23011099fd16b113b2c57e2b2929d /challenge-196 | |
| parent | 5625ad93926298ceb5bcca92c5e7bdf9ccfd51a2 (diff) | |
| download | perlweeklychallenge-club-4ceffc0526ec27e141debda11936c854940ec637.tar.gz perlweeklychallenge-club-4ceffc0526ec27e141debda11936c854940ec637.tar.bz2 perlweeklychallenge-club-4ceffc0526ec27e141debda11936c854940ec637.zip | |
Task 2 done
Diffstat (limited to 'challenge-196')
| -rw-r--r-- | challenge-196/luca-ferrari/postgresql/ch-2.plperl | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/challenge-196/luca-ferrari/postgresql/ch-2.plperl b/challenge-196/luca-ferrari/postgresql/ch-2.plperl new file mode 100644 index 0000000000..2608c1a841 --- /dev/null +++ b/challenge-196/luca-ferrari/postgresql/ch-2.plperl @@ -0,0 +1,23 @@ +-- Perl Weekly Challenge 196 +-- Task 2 + +CREATE SCHEMA IF NOT EXISTS pwc196; + +CREATE OR REPLACE FUNCTION +pwc196.task2_plperl( int[] ) +RETURNS SETOF int[] +AS $CODE$ + my ( $array ) = $_[0]; + my ( $start, $end ) = ( 0, 0 ); + + while ( $start < $array->@* ) { + $end = $start; + $end++ while ( $end < $array->@* && $array->[ $end + 1 ] == $array->[ $end ] + 1 ); + return_next( [ $start, $end ] ) if ( $end > $start ); + $start += $end + 1; + } + +return undef; + +$CODE$ +LANGUAGE plperl; |
