Problem : https://leetcode.com/problems/minimum-cost-to-connect-sticks/
Greedily connect the 2 shortest sticks in each round. Use heap to find the 2 shortest sticks.
class Solution:
def connectSticks(self, sticks: List[int]) -> int:
result = 0
heapq.heapify(sticks)
while len(sticks) > 1:
a = heapq.heappop(sticks)
b = heapq.heappop(sticks)
c = a + b
result += c
heapq.heappush(sticks, c)
return result
No comments:
Post a Comment