Home Buy Two Chocolates
Post
Cancel

Buy Two Chocolates

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
This post is licensed under CC BY 4.0 by the author.

Rotate List

Number of Good Pairs