aboutsummaryrefslogtreecommitdiff
path: root/incremental_memory_leak.py
diff options
context:
space:
mode:
authorJack Sangdahl <[email protected]>2024-09-02 17:05:35 -0600
committerJack Sangdahl <[email protected]>2024-09-02 17:05:35 -0600
commitf24c80dde79ceb46dda91c612a91f0758e94b5b7 (patch)
tree7d82f355a9dc7e5b12d93fa93899e6acf83315ba /incremental_memory_leak.py
parent1f03596095e457960c2757a054cb3808af4f44db (diff)
downloadleetcode-f24c80dde79ceb46dda91c612a91f0758e94b5b7.tar.gz
leetcode-f24c80dde79ceb46dda91c612a91f0758e94b5b7.zip
1860. incremental memory leak
Diffstat (limited to 'incremental_memory_leak.py')
-rw-r--r--incremental_memory_leak.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/incremental_memory_leak.py b/incremental_memory_leak.py
new file mode 100644
index 0000000..f8e23a6
--- /dev/null
+++ b/incremental_memory_leak.py
@@ -0,0 +1,37 @@
+# 1860. Incremental Memory Leak
+
+"""
+you are given two integer 'memory1' and 'memory2' representing the available
+memory in bits on two memory sticks. there is currently a faulty program
+running that consumes an increasing amount of memory every second. at the
+i'th second (starting from 1), 'i' bits of memory are allocated to the stick
+with more available memory (or from the first memory stick if both have the
+same available memory). if neither stick has at least 'i' bits of available
+memory, the program crashes. return an array containing '[crash_time,
+memory1_crash, memory2_crash]', where 'crash_time' is the time when the
+program crashed and 'memory1_crash' and 'memory2_crash' are the available
+bits of memory in the first and second sticks respectively
+"""
+
+
+class Solution(object):
+ def memLeak(self, memory1, memory2):
+ """
+ :type memory1: int
+ :type memory2: int
+ :rtype: List[int]
+ """
+ i = 1
+ while max(memory1, memory2) >= i:
+ if memory1 >= memory2:
+ memory1 -= i
+ else:
+ memory2 -= i
+ i += 1
+ return [i, memory1, memory2]
+
+
+if __name__ == "__main__":
+ obj = Solution()
+ print(obj.memLeak(2, 2))
+ print(obj.memLeak(8, 11))