diff options
-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() |