diff options
| author | 冯昶 <seaker@qq.com> | 2020-09-21 14:20:42 +0800 |
|---|---|---|
| committer | 冯昶 <seaker@qq.com> | 2020-09-21 14:20:42 +0800 |
| commit | bca0c362c212fc0dadc5ed7d9a5e4fa1aece4bfb (patch) | |
| tree | 877181cfde26b706346d3468269e4674d75da772 /challenge-078/ash | |
| parent | ec09b571a6f2186fec8870a071a8d5d38596c850 (diff) | |
| parent | 5ac16ac7e9826137e0da5597e954f4992c66205d (diff) | |
| download | perlweeklychallenge-club-bca0c362c212fc0dadc5ed7d9a5e4fa1aece4bfb.tar.gz perlweeklychallenge-club-bca0c362c212fc0dadc5ed7d9a5e4fa1aece4bfb.tar.bz2 perlweeklychallenge-club-bca0c362c212fc0dadc5ed7d9a5e4fa1aece4bfb.zip | |
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'challenge-078/ash')
| -rw-r--r-- | challenge-078/ash/blog.txt | 1 | ||||
| -rw-r--r-- | challenge-078/ash/cpp/ch-1.cpp | 30 | ||||
| -rw-r--r-- | challenge-078/ash/cpp/ch-2.cpp | 32 | ||||
| -rw-r--r-- | challenge-078/ash/python/ch-1.py | 19 | ||||
| -rw-r--r-- | challenge-078/ash/python/ch-2.py | 19 | ||||
| -rw-r--r-- | challenge-078/ash/raku/ch-1.raku | 12 | ||||
| -rw-r--r-- | challenge-078/ash/raku/ch-2.raku | 11 |
7 files changed, 124 insertions, 0 deletions
diff --git a/challenge-078/ash/blog.txt b/challenge-078/ash/blog.txt new file mode 100644 index 0000000000..0bed715d48 --- /dev/null +++ b/challenge-078/ash/blog.txt @@ -0,0 +1 @@ +https://andrewshitov.com/2020/09/14/the-weekly-challenge-078/ diff --git a/challenge-078/ash/cpp/ch-1.cpp b/challenge-078/ash/cpp/ch-1.cpp new file mode 100644 index 0000000000..875dc4a005 --- /dev/null +++ b/challenge-078/ash/cpp/ch-1.cpp @@ -0,0 +1,30 @@ +/* + Task 1 from + https://perlweeklychallenge.org/blog/perl-weekly-challenge-078/ + + Comments: https://andrewshitov.com/2020/09/14/the-weekly-challenge-078/ + + Compile as: + $ g++ -std=c++17 ch-1.cpp +*/ + +#include <iostream> +#include <vector> + +using namespace std; + +int main() { + vector<int> a = {9, 10, 7, 5, 6, 1}; + + auto max = a.back(); + vector<int> leaders = {max}; + for (auto i = a.rbegin(); i != a.rend(); i++) { + if (*i > max) { + max = *i; + leaders.push_back(max); + } + } + + for (auto i = leaders.rbegin(); i != leaders.rend(); i++) + cout << *i << endl; +} diff --git a/challenge-078/ash/cpp/ch-2.cpp b/challenge-078/ash/cpp/ch-2.cpp new file mode 100644 index 0000000000..c3133a8c06 --- /dev/null +++ b/challenge-078/ash/cpp/ch-2.cpp @@ -0,0 +1,32 @@ +/* + Task 2 from + https://perlweeklychallenge.org/blog/perl-weekly-challenge-078/ + + Comments: https://andrewshitov.com/2020/09/14/the-weekly-challenge-078/ + + Compile: + $ g++ -std=c++17 ch-2.cpp + + Output: + + $ ./a.out + 40 50 10 20 30 + 50 10 20 30 40 +*/ + +#include <iostream> +#include <vector> + +using namespace std; + +int main() { + vector<int> a = {10, 20, 30, 40, 50}; + vector<int> b = {3, 4}; + + for (auto shift : b) { + for (auto pos = 0; pos != a.size(); pos++) { + cout << a[(pos + shift) % a.size()] << ' '; + } + cout << endl; + } +} diff --git a/challenge-078/ash/python/ch-1.py b/challenge-078/ash/python/ch-1.py new file mode 100644 index 0000000000..2f6911a626 --- /dev/null +++ b/challenge-078/ash/python/ch-1.py @@ -0,0 +1,19 @@ +# Task 1 from +# https://perlweeklychallenge.org/blog/perl-weekly-challenge-078/ +# +# Comments: https://andrewshitov.com/2020/09/14/the-weekly-challenge-078/ +# +# Output: +# +# $ python3 ch-1.py +# 10 +# 7 +# 6 +# 1 + +data = 9, 10, 7, 5, 6, 1 + +for i in range(len(data) - 1): + if data[i] > max(data[i+1:]): + print(data[i]) +print(data[-1]) diff --git a/challenge-078/ash/python/ch-2.py b/challenge-078/ash/python/ch-2.py new file mode 100644 index 0000000000..079e92d1b0 --- /dev/null +++ b/challenge-078/ash/python/ch-2.py @@ -0,0 +1,19 @@ +# Task 2 from +# https://perlweeklychallenge.org/blog/perl-weekly-challenge-078/ +# +# Comments: https://andrewshitov.com/2020/09/14/the-weekly-challenge-078/ +# +# Output: +# +# [40, 50, 10, 20, 30] +# [50, 10, 20, 30, 40] + +from collections import deque + +a = [10, 20, 30, 40, 50] +b = [3, 4] + +for x in b: + d = deque(a) + d.rotate(-x) + print(list(d)) diff --git a/challenge-078/ash/raku/ch-1.raku b/challenge-078/ash/raku/ch-1.raku new file mode 100644 index 0000000000..d7cda4daed --- /dev/null +++ b/challenge-078/ash/raku/ch-1.raku @@ -0,0 +1,12 @@ +#!/usr/bin/env raku + +# Task 1 from +# https://perlweeklychallenge.org/blog/perl-weekly-challenge-078/ + +# Comments: https://andrewshitov.com/2020/09/14/the-weekly-challenge-078/ + +my @a = 9, 10, 7, 5, 6, 1; + +for @a.kv -> $i, $v { + say $v if $v > all(@a[$i^..*]); +} diff --git a/challenge-078/ash/raku/ch-2.raku b/challenge-078/ash/raku/ch-2.raku new file mode 100644 index 0000000000..af9f61a1e4 --- /dev/null +++ b/challenge-078/ash/raku/ch-2.raku @@ -0,0 +1,11 @@ +#!/usr/bin/env raku + +# Task 2 from +# https://perlweeklychallenge.org/blog/perl-weekly-challenge-078/ + +# Comments: https://andrewshitov.com/2020/09/14/the-weekly-challenge-078/ + +my @a = 10, 20, 30, 40, 50; +my @b = 3, 4; + +say @a.rotate($_) for @b;
\ No newline at end of file |
