Skip to content

Commit 5ba9f09

Browse files
authored
Update 1167.Minimum-Cost-to-Connect-Sticks.cpp
1 parent c96adb8 commit 5ba9f09

File tree

1 file changed

+13
-14
lines changed

1 file changed

+13
-14
lines changed

Priority_Queue/1167.Minimum-Cost-to-Connect-Sticks/1167.Minimum-Cost-to-Connect-Sticks.cpp

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,20 @@ class Solution {
22
public:
33
int connectSticks(vector<int>& sticks)
44
{
5-
multiset<int>Set;
6-
int sum = 0;
7-
for (auto x: sticks)
5+
int ret = 0;
6+
priority_queue<int,vector<int>,greater<>>pq;
7+
for (int x: sticks)
8+
pq.push(x);
9+
10+
while (pq.size()>1)
811
{
9-
Set.insert(x);
12+
int a = pq.top();
13+
pq.pop();
14+
int b = pq.top();
15+
pq.pop();
16+
ret += a+b;
17+
pq.push(a+b);
1018
}
11-
for (int i=0; i<sticks.size()-1; i++)
12-
{
13-
int x = *(Set.begin());
14-
Set.erase(Set.begin());
15-
int y = *(Set.begin());
16-
Set.erase(Set.begin());
17-
sum += x+y;
18-
Set.insert(x+y);
19-
}
20-
return sum;
19+
return ret;
2120
}
2221
};

0 commit comments

Comments
 (0)