View Buy Two Chocolates on LeetCode
Statistics
Time Spent Coding
2 minutes
Time Complexity
O(n) - Three O(n) operations are performed, but big-O represents the growth rate and not the exact multiple of that growth rate, resulting in only an O(n) time complexity.
Space Complexity
O(1) - The number of variables created is independent of the inputs, resulting in the O(1) space complexity.
Runtime Beats
88.97% of other submissions
Memory Beats
85.59% of other sumbissions
Explanation
Extract the minimum value, store it in min1, and then remove that element. Extract the other minimum value and store it in min2. Compute the result (res) of how much money will be left over after purchasing both chocolates.
- If this value is greater than or equal to zero, this is a valid purchase; return the remaining money
res. - If the result is invalid, return money.
Solution
1
2
3
4
5
6
7
8
9
class Solution:
def buyChoco(self, prices: List[int], money: int) -> int:
min1 = min(prices)
prices.remove(min1)
min2 = min(prices)
res = money - (min1+min2)
if res >= 0: return res
else: return money