diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2021-05-08 22:00:35 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2021-05-08 22:00:35 +0100 |
| commit | d74abfc7560e25d866141772336415a9334122e1 (patch) | |
| tree | 47bb1c2cf74f22ba03cefb42d028ca95963213de | |
| parent | 3f5820b44e75cdefbbcfa911b5859d4c13be6069 (diff) | |
| download | perlweeklychallenge-club-d74abfc7560e25d866141772336415a9334122e1.tar.gz perlweeklychallenge-club-d74abfc7560e25d866141772336415a9334122e1.tar.bz2 perlweeklychallenge-club-d74abfc7560e25d866141772336415a9334122e1.zip | |
- Added task 1 of week 111.
| -rw-r--r-- | challenge-111/mohammad-anwar/perl/ch-1.pl | 67 | ||||
| -rw-r--r-- | stats/pwc-current.json | 337 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 54 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 758 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 724 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 48 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 112 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 50 | ||||
| -rw-r--r-- | stats/pwc-summary-181-210.json | 100 | ||||
| -rw-r--r-- | stats/pwc-summary-211-240.json | 40 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 38 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 96 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 100 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 58 |
14 files changed, 1332 insertions, 1250 deletions
diff --git a/challenge-111/mohammad-anwar/perl/ch-1.pl b/challenge-111/mohammad-anwar/perl/ch-1.pl new file mode 100644 index 0000000000..7de5e76fa6 --- /dev/null +++ b/challenge-111/mohammad-anwar/perl/ch-1.pl @@ -0,0 +1,67 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +use Math::Utils qw(floor); + +my $search = $ARGV[0]; +die "ERROR: Missing search key.\n" unless defined $search; + +my @matrix = ( [ 1, 2, 3, 5, 7 ], + [ 9, 11, 15, 19, 20 ], + [ 23, 24, 25, 29, 31 ], + [ 32, 33, 39, 40, 42 ], + [ 45, 47, 48, 49, 50 ], ); + +my $found = 0; +foreach my $row (@matrix) { + ($row->[0] > $search) and last; + $found = binary_search($row, $search); + $found and last; +} +print sprintf("%d %s.\n", $search, ($found)?("found"):("not found")); + +=head1 + +Binary search algorithm as suggested by Wikipedia: + +https://en.wikipedia.org/wiki/Binary_search_algorithm + + function binary_search(A, n, T) is + L := 0 + R := n − 1 + + while L ≤ R do + m := floor((L + R) / 2) + if A[m] < T then + L := m + 1 + else if A[m] > T then + R := m − 1 + else: + return m + + return unsuccessful + +=cut + +sub binary_search { + my ($row, $target) = @_; + + my $l = 0; + my $r = @$row - 1; + while ($l <= $r) { + my $m = floor(( $l + $r ) / 2); + if ($row->[$m] < $target) { + $l = $m + 1; + } + elsif ($row->[$m] > $target) { + $r = $m - 1; + } + else { + return $m; + } + } + + return 0; +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 769342aa32..9b78a405d3 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,9 +1,145 @@ { + "title" : { + "text" : "Perl Weekly Challenge - 111" + }, + "tooltip" : { + "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>", + "followPointer" : 1, + "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>" + }, "legend" : { "enabled" : 0 }, - "title" : { - "text" : "Perl Weekly Challenge - 111" + "series" : [ + { + "colorByPoint" : 1, + "data" : [ + { + "y" : 3, + "drilldown" : "Aaron Smith", + "name" : "Aaron Smith" + }, + { + "y" : 2, + "drilldown" : "Abigail", + "name" : "Abigail" + }, + { + "name" : "Cheok-Yin Fung", + "drilldown" : "Cheok-Yin Fung", + "y" : 2 + }, + { + "name" : "Dave Jacoby", + "drilldown" : "Dave Jacoby", + "y" : 3 + }, + { + "name" : "E. Choroba", + "drilldown" : "E. Choroba", + "y" : 2 + }, + { + "name" : "Feng Chang", + "drilldown" : "Feng Chang", + "y" : 2 + }, + { + "y" : 4, + "drilldown" : "Flavio Poletti", + "name" : "Flavio Poletti" + }, + { + "drilldown" : "James Smith", + "y" : 3, + "name" : "James Smith" + }, + { + "drilldown" : "Jorg Sommrey", + "y" : 2, + "name" : "Jorg Sommrey" + }, + { + "name" : "Laurent Rosenfeld", + "y" : 5, + "drilldown" : "Laurent Rosenfeld" + }, + { + "y" : 4, + "drilldown" : "Luca Ferrari", + "name" : "Luca Ferrari" + }, + { + "y" : 2, + "drilldown" : "Mark Anderson", + "name" : "Mark Anderson" + }, + { + "y" : 1, + "drilldown" : "Mohammad S Anwar", + "name" : "Mohammad S Anwar" + }, + { + "name" : "Niels van Dijke", + "y" : 2, + "drilldown" : "Niels van Dijke" + }, + { + "drilldown" : "Pete Houston", + "y" : 2, + "name" : "Pete Houston" + }, + { + "name" : "Roger Bell_West", + "drilldown" : "Roger Bell_West", + "y" : 5 + }, + { + "name" : "Simon Proctor", + "drilldown" : "Simon Proctor", + "y" : 1 + }, + { + "drilldown" : "Stuart Little", + "y" : 4, + "name" : "Stuart Little" + }, + { + "drilldown" : "Ulrich Rieke", + "y" : 4, + "name" : "Ulrich Rieke" + }, + { + "y" : 3, + "drilldown" : "W. Luis Mochan", + "name" : "W. Luis Mochan" + } + ], + "name" : "Perl Weekly Challenge - 111" + } + ], + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "xAxis" : { + "type" : "category" + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 + } + }, + "subtitle" : { + "text" : "[Champions: 20] Last updated at 2021-05-08 20:59:56 GMT" + }, + "chart" : { + "type" : "column" }, "drilldown" : { "series" : [ @@ -22,27 +158,28 @@ ] }, { - "name" : "Abigail", + "id" : "Abigail", "data" : [ [ "Perl", 2 ] ], - "id" : "Abigail" + "name" : "Abigail" }, { "id" : "Cheok-Yin Fung", - "name" : "Cheok-Yin Fung", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "Cheok-Yin Fung" }, { "id" : "Dave Jacoby", + "name" : "Dave Jacoby", "data" : [ [ "Perl", @@ -52,30 +189,30 @@ "Blog", 1 ] - ], - "name" : "Dave Jacoby" + ] }, { + "id" : "E. Choroba", "name" : "E. Choroba", "data" : [ [ "Perl", 2 ] - ], - "id" : "E. Choroba" + ] }, { "id" : "Feng Chang", + "name" : "Feng Chang", "data" : [ [ "Raku", 2 ] - ], - "name" : "Feng Chang" + ] }, { + "id" : "Flavio Poletti", "name" : "Flavio Poletti", "data" : [ [ @@ -86,11 +223,9 @@ "Blog", 2 ] - ], - "id" : "Flavio Poletti" + ] }, { - "name" : "James Smith", "data" : [ [ "Perl", @@ -101,19 +236,21 @@ 1 ] ], + "name" : "James Smith", "id" : "James Smith" }, { - "id" : "Jorg Sommrey", + "name" : "Jorg Sommrey", "data" : [ [ "Perl", 2 ] ], - "name" : "Jorg Sommrey" + "id" : "Jorg Sommrey" }, { + "name" : "Laurent Rosenfeld", "data" : [ [ "Perl", @@ -128,7 +265,6 @@ 1 ] ], - "name" : "Laurent Rosenfeld", "id" : "Laurent Rosenfeld" }, { @@ -146,34 +282,44 @@ "id" : "Luca Ferrari" }, { - "id" : "Mark Anderson", + "name" : "Mark Anderson", "data" : [ [ "Raku", 2 ] ], - "name" : "Mark Anderson" + "id" : "Mark Anderson" }, { + "id" : "Mohammad S Anwar", "data" : [ [ "Perl", - 2 + 1 ] ], + "name" : "Mohammad S Anwar" + }, + { "name" : "Niels van Dijke", + "data" : [ + [ + "Perl", + 2 + ] + ], "id" : "Niels van Dijke" }, { - "id" : "Pete Houston", "data" : [ [ "Perl", 2 ] ], - "name" : "Pete Houston" + "name" : "Pete Houston", + "id" : "Pete Houston" }, { "data" : [ @@ -194,16 +340,17 @@ "id" : "Roger Bell_West" }, { + "id" : "Simon Proctor", "name" : "Simon Proctor", "data" : [ [ "Raku", 1 ] - ], - "id" : "Simon Proctor" + ] }, { + "id" : "Stuart Little", "data" : [ [ "Perl", @@ -214,12 +361,10 @@ 2 ] ], - "name" : "Stuart Little", - "id" : "Stuart Little" + "name" : "Stuart Little" }, { "id" : "Ulrich Rieke", - "name" : "Ulrich Rieke", "data" : [ [ "Perl", @@ -229,9 +374,11 @@ "Raku", 2 ] - ] + ], + "name" : "Ulrich Rieke" }, { + "name" : "W. Luis Mochan", "data" : [ [ "Perl", @@ -242,140 +389,8 @@ 1 ] ], - "name" : "W. Luis Mochan", "id" : "W. Luis Mochan" } ] - }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - }, - "borderWidth" : 0 - } - }, - "subtitle" : { - "text" : "[Champions: 19] Last updated at 2021-05-08 20:17:32 GMT" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "chart" : { - "type" : "column" - }, - "tooltip" : { - "followPointer" : 1, - "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>", - "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>" - }, - "series" : [ - { - "colorByPoint" : 1, - "name" : "Perl Weekly Challenge - 111", - "data" : [ - { - "drilldown" : "Aaron Smith", - "name" : "Aaron Smith", - "y" : 3 - }, - { - "y" : 2, - "name" : "Abigail", - "drilldown" : "Abigail" - }, - { - "drilldown" : "Cheok-Yin Fung", - "name" : "Cheok-Yin Fung", - "y" : 2 - }, - { - "drilldown" : "Dave Jacoby", - "name" : "Dave Jacoby", - "y" : 3 - }, - { - "name" : "E. Choroba", - "y" : 2, - "drilldown" : "E. Choroba" - }, - { - "drilldown" : "Feng Chang", - "y" : 2, - "name" : "Feng Chang" - }, - { - "drilldown" : "Flavio Poletti", - "y" : 4, - "name" : "Flavio Poletti" - }, - { - "drilldown" : "James Smith", - "y" : 3, - "name" : "James Smith" - }, - { - "y" : 2, - "name" : "Jorg Sommrey", - "drilldown" : "Jorg Sommrey" - }, - { - "drilldown" : "Laurent Rosenfeld", - "name" : "Laurent Rosenfeld", - "y" : 5 - }, - { - "drilldown" : "Luca Ferrari", - "y" : 4, - "name" : "Luca Ferrari" - }, - { - "drilldown" : "Mark Anderson", - "name" : "Mark Anderson", - "y" : 2 - }, - { - "drilldown" : "Niels van Dijke", - "y" : 2, - "name" : "Niels van Dijke" - }, - { - "name" : "Pete Houston", - "y" : 2, - "drilldown" : "Pete Houston" - }, - { - "y" : 5, - "name" : "Roger Bell_West", - "drilldown" : "Roger Bell_West" - }, - { - "y" : 1, - "name" : "Simon Proctor", - "drilldown" : "Simon Proctor" - }, - { - "drilldown" : "Stuart Little", - "name" : "Stuart Little", - "y" : 4 - }, - { - "drilldown" : "Ulrich Rieke", - "y" : 4, - "name" : "Ulrich Rieke" - }, - { - "drilldown" : "W. Luis Mochan", - "y" : 3, - "name" : "W. Luis Mochan" - } - ] - } - ], - "xAxis" : { - "type" : "category" } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 0db50c33cf..0a998f2423 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,40 +1,24 @@ { - "legend" : { - "enabled" : "false" - }, - "title" : { - "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" - }, - "subtitle" : { - "text" : "Last updated at 2021-05-08 20:17:32 GMT" - }, "yAxis" : { - "min" : 0, "title" : { "text" : null - } - }, - "tooltip" : { - "pointFormat" : "<b>{point.y:.0f}</b>" - }, - "chart" : { - "type" : "column" + }, + "min" : 0 }, "series" : [ { "dataLabels" : { - "enabled" : "true", + "color" : "#FFFFFF", + "y" : 10, "rotation" : -90, - "align" : "right", - "format" : "{point.y:.0f}", "style" : { "fontSize" : "13px", "fontFamily" : "Verdana, sans-serif" }, - "y" : 10, - "color" : "#FFFFFF" + "enabled" : "true", + "align" : "right", + "format" : "{point.y:.0f}" }, - "name" : "Contributions", "data" : [ [ "Blog", @@ -42,22 +26,38 @@ ], [ "Perl", - 5242 + 5243 ], [ "Raku", 3333 ] - ] + ], + "name" : "Contributions" } ], + "title" : { + "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" + }, + "tooltip" : { + "pointFormat" : "<b>{point.y:.0f}</b>" + }, + "legend" : { + "enabled" : "false" + }, + "chart" : { + "type" : "column" + }, "xAxis" : { + "type" : "category", "labels" : { "style" : { "fontFamily" : "Verdana, sans-serif", "fontSize" : "13px" } - }, - "type" : "category" + } + }, + "subtitle" : { + "text" : "Last updated at 2021-05-08 20:59:56 GMT" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 8e4a1a9080..6ad4bbc902 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,11 +1,24 @@ { - "legend" : { - "enabled" : "false" + "subtitle" : { + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2021-05-08 20:59:56 GMT" + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + }, + "borderWidth" : 0 + } + }, + "xAxis" : { + "type" : "category" }, "drilldown" : { "series" : [ { "id" : "001", + "name" : "001", "data" : [ [ "Perl", @@ -19,12 +32,9 @@ "Blog", 11 ] - ], - "name" : "001" + ] }, { - "id" : "002", - "name" : "002", "data" : [ [ "Perl", @@ -38,10 +48,11 @@ "Blog", 10 ] - ] + ], + "name" : "002", + "id" : "002" }, { - "id" : "003", "data" : [ [ "Perl", @@ -56,9 +67,11 @@ 9 ] ], - "name" : "003" + "name" : "003", + "id" : "003" }, { + "id" : "004", "data" : [ [ "Perl", @@ -73,11 +86,10 @@ 10 ] ], - "name" : "004", - "id" : "004" + "name" : "004" }, { - "name" : "005", + "id" : "005", "data" : [ [ "Perl", @@ -92,11 +104,9 @@ 12 ] ], - "id" : "005" + "name" : "005" }, { - "id" : "006", - "name" : "006", "data" : [ [ "Perl", @@ -110,10 +120,11 @@ "Blog", 7 ] - ] + ], + "name" : "006", + "id" : "006" }, { - "id" : "007", "name" : "007", "data" : [ [ @@ -128,10 +139,11 @@ "Blog", 10 ] - ] + ], + "id" : "007" }, { - "id" : "008", + "name" : "008", "data" : [ [ "Perl", @@ -146,7 +158,7 @@ 12 ] ], - "name" : "008" + "id" : "008" }, { "name" : "009", @@ -168,7 +180,6 @@ }, { "id" : "010", - "name" : "010", "data" : [ [ "Perl", @@ -182,11 +193,11 @@ "Blog", 11 ] - ] + ], + "name" : "010" }, { "id" : "011", - "name" : "011", "data" : [ [ "Perl", @@ -200,9 +211,12 @@ "Blog", 10 ] - ] + ], + "name" : "011" }, { + "id" : "012", + "name" : "012", "data" : [ [ "Perl", @@ -216,11 +230,10 @@ "Blog", 11 ] - ], - "name" : "012", - "id" : "012" + ] }, { + "name" : "013", "data" : [ [ "Perl", @@ -235,11 +248,10 @@ 13 ] ], - "name" : "013", "id" : "013" }, { - "id" : "014", + "name" : "014", "data" : [ [ "Perl", @@ -254,7 +266,7 @@ 15 ] ], - "name" : "014" + "id" : "014" }, { "data" : [ @@ -311,7 +323,7 @@ "id" : "017" }, { - "id" : "018", + "name" : "018", "data" : [ [ "Perl", @@ -326,7 +338,7 @@ 14 ] ], - "name" : "018" + "id" : "018" }, { "id" : "019", @@ -347,7 +359,6 @@ ] }, { - "id" : "020", "name" : "020", "data" : [ [ @@ -362,10 +373,10 @@ "Blog", 13 ] - ] + ], + "id" : "020" }, { - "name" : "021", "data" : [ [ "Perl", @@ -380,10 +391,10 @@ 10 ] ], + "name" : "021", "id" : "021" }, { - "id" : "022", "data" : [ [ "Perl", @@ -398,10 +409,11 @@ 10 ] ], - "name" : "022" + "name" : "022", + "id" : "022" }, { - "id" : "023", + "name" : "023", "data" : [ [ "Perl", @@ -416,10 +428,10 @@ 12 ] ], - "name" : "023" + "id" : "023" }, { - "name" : "024", + "id" : "024", "data" : [ [ "Perl", @@ -434,10 +446,9 @@ 11 ] ], - "id" : "024" + "name" : "024" }, { - "id" : "025", "name" : "025", "data" : [ [ @@ -452,7 +463,8 @@ "Blog", 12 ] - ] + ], + "id" : "025" }, { "id" : "026", @@ -473,8 +485,6 @@ ] }, { - "id" : "027", - "name" : "027", "data" : [ [ "Perl", @@ -488,10 +498,12 @@ "Blog", 9 ] - ] + ], + "name" : "027", + "id" : "027" }, { - "id" : "028", + "name" : "028", "data" : [ [ "Perl", @@ -506,9 +518,11 @@ 9 ] ], - "name" : "028" + "id" : "028" }, { + "id" : "029", + "name" : "029", "data" : [ [ "Perl", @@ -522,11 +536,11 @@ "Blog", 12 ] - ], - "name" : "029", - "id" : "029" + ] }, { + "id" : "030", + "name" : "030", "data" : [ [ "Perl", @@ -540,9 +554,7 @@ "Blog", 10 ] - ], - "name" : "030", - "id" : "030" + ] }, { "name" : "031", @@ -563,7 +575,6 @@ "id" : "031" }, { - "name" : "032", "data" : [ [ "Perl", @@ -578,11 +589,11 @@ 10 ] ], + "name" : "032", "id" : "032" }, { "id" : "033", - "name" : "033", "data" : [ [ "Perl", @@ -596,11 +607,10 @@ "Blog", 10 ] - ] + ], + "name" : "033" }, { - "id" : "034", - "name" : "034", "data" : [ [ "Perl", @@ -614,10 +624,12 @@ "Blog", 11 ] - ] + ], + "name" : "034", + "id" : "034" }, { - "id" : "035", + "name" : "035", "data" : [ [ "Perl", @@ -632,10 +644,11 @@ 9 ] ], - "name" : "035" + "id" : "035" }, { "id" : "036", + "name" : "036", "data" : [ [ "Perl", @@ -649,8 +662,7 @@ "Blog", 11 ] - ], - "name" : "036" + ] }, { "id" : "037", @@ -671,6 +683,7 @@ ] }, { + "id" : "038", "name" : "038", "data" : [ [ @@ -685,10 +698,10 @@ "Blog", 12 ] - ], - "id" : "038" + ] }, { + "id" : "039", "data" : [ [ "Perl", @@ -703,10 +716,11 @@ 12 ] ], - "name" : "039", - "id" : "039" |
