Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from typing import Set, List
- class Term(int):
- def is_better_than(self, other):
- return self // 2 > other // 2
- def get_best_terms(terms: Set[Term]) -> List[Term]:
- terms = iter(terms)
- max = next(terms)
- equal = {max}
- for term in terms:
- if term.is_better_than(max):
- max = term
- equal = {max}
- elif not max.is_better_than(term):
- equal.add(term)
- return equal
- print(get_best_terms(map(Term, [1, 2, 3, 4, 5])))
- print(get_best_terms(map(Term, [1, 2, 3, 4])))
- print(get_best_terms(map(Term, [5, 1, 2, 4, 3])))
- print(get_best_terms(map(Term, [5, 1, 4, 3])))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement