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/lubos-kolouch/python/ch-1.py | |
| 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/lubos-kolouch/python/ch-1.py')
| -rw-r--r-- | challenge-078/lubos-kolouch/python/ch-1.py | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/challenge-078/lubos-kolouch/python/ch-1.py b/challenge-078/lubos-kolouch/python/ch-1.py new file mode 100644 index 0000000000..ef18c534ac --- /dev/null +++ b/challenge-078/lubos-kolouch/python/ch-1.py @@ -0,0 +1,43 @@ +#!/bin/env python +""" https://perlweeklychallenge.org/blog/perl-weekly-challenge-078/ + Task 1 + Leader Element + 19.9.2020 Lubos Kolouch """ + + +class LeaderElements: + """ Class to find Leader elements from a list """ + + def __init__(self, arr: list()): + self.arr = arr + self.leaders = list() + + def process_list(self): + """ Process the list and fill in leaders """ + + if not self.arr: + return 0 + + self.leaders.insert(0, self.arr[-1]) + for item in reversed(self.arr): + if item > self.leaders[0]: + self.leaders.insert(0, item) + + return 1 + + def return_leaders(self): + """ Return the leaders list """ + return self.leaders + + +tester = LeaderElements([9, 10, 7, 5, 6, 1]) +tester.process_list() +assert tester.return_leaders() == [10, 7, 6, 1] + +tester = LeaderElements([3, 4, 5]) +tester.process_list() +assert tester.return_leaders() == [5] + +tester = LeaderElements([]) +tester.process_list() +assert tester.return_leaders() == [] |
