From 4ceffc0526ec27e141debda11936c854940ec637 Mon Sep 17 00:00:00 2001 From: Luca Ferrari Date: Mon, 19 Dec 2022 10:28:09 +0100 Subject: Task 2 done --- challenge-196/luca-ferrari/postgresql/ch-2.plperl | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 challenge-196/luca-ferrari/postgresql/ch-2.plperl 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; -- cgit