diff options
Diffstat (limited to '')
| -rwxr-xr-x | 458/main.py | 38 | 
1 files changed, 38 insertions, 0 deletions
| diff --git a/458/main.py b/458/main.py new file mode 100755 index 0000000..62e2482 --- /dev/null +++ b/458/main.py @@ -0,0 +1,38 @@ +#!/usr/bin/env python3 +# used the hints + +import math + + +class Solution: +    def poorPigs_v2( +        self, buckets: int, minutesToDie: int, minutesToTest: int +    ) -> int: +        number_of_tries: int = math.floor(minutesToTest / minutesToDie) +        if number_of_tries == 1: +            boundary = math.log(buckets, 10) / math.log(2, 10) +            return math.ceil(boundary) +        else: +            boundary = math.log(buckets, 10) / math.log(number_of_tries, 10) +            return math.ceil(boundary) + +    def poorPigs( +        self, buckets: int, minutesToDie: int, minutesToTest: int +    ) -> int: +        result: int = 0 +        number_of_tries: int = math.floor(minutesToTest / minutesToDie) +        while pow(number_of_tries + 1, result) < buckets: +            result += 1 +        return result + + +def main(): +    solution = Solution() +    print(solution.poorPigs(1000, 15, 60)) +    print(solution.poorPigs(4, 15, 15)) +    print(solution.poorPigs(4, 15, 30)) +    print(solution.poorPigs(8, 15, 40)) + + +if __name__ == "__main__": +    main() | 
