Add min_max
to aocpy
Signed-off-by: AKP <tom@tdpain.net>
This commit is contained in:
parent
386cb4cd24
commit
c78c6bdc3b
1 changed files with 16 additions and 1 deletions
|
@ -1,5 +1,5 @@
|
|||
from __future__ import annotations
|
||||
from typing import Any, TypeVar, Callable, Iterable
|
||||
from typing import *
|
||||
from collections.abc import Sequence
|
||||
|
||||
|
||||
|
@ -32,6 +32,21 @@ def foldr(p: Callable[[U, T], U], i: Iterable[T], start: U) -> U:
|
|||
return foldl(p, reversed(i), start)
|
||||
|
||||
|
||||
def min_max(x: Iterable[int]) -> Tuple[int, int]:
|
||||
mini, maxi = None, 0
|
||||
|
||||
for item in x:
|
||||
if item > maxi:
|
||||
maxi = item
|
||||
if mini is None or item < mini:
|
||||
mini = item
|
||||
|
||||
if mini is None:
|
||||
raise ValueError("empty set")
|
||||
|
||||
return mini, maxi
|
||||
|
||||
|
||||
class Vector:
|
||||
x: int
|
||||
y: int
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue