Skip to content

Commit c2955c4

Browse files
authored
Update minimum-swaps-to-sort-by-digit-sum.cpp
1 parent 8d90317 commit c2955c4

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

C++/minimum-swaps-to-sort-by-digit-sum.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Time: O(nlogr)
1+
// Time: O(nlogr + nlogn)
22
// Space: O(n)
33

44
// sort
@@ -13,10 +13,14 @@ class Solution {
1313
return result;
1414
};
1515

16+
vector<int> totals(size(nums));
17+
for (int i = 0; i < size(nums); ++i) {
18+
totals[i] = total(nums[i]);
19+
}
1620
vector<int> idxs(size(nums));
1721
iota(begin(idxs), end(idxs), 0);
1822
sort(begin(idxs), end(idxs), [&](const auto& i, const auto& j) {
19-
return pair(total(nums[i]), nums[i]) < pair(total(nums[j]), nums[j]);
23+
return pair(totals[i], nums[i]) < pair(totals[j], nums[j]);
2024
});
2125
vector<int> i_to_idx(size(idxs), -1);
2226
for (int i = 0; i < size(idxs); ++i) {

0 commit comments

Comments
 (0)