Skip to content

Commit 7fb8520

Browse files
authored
Update closest-subsequence-sum.cpp
1 parent 4b4dcca commit 7fb8520

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

C++/closest-subsequence-sum.cpp

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

44
class Solution {
@@ -31,12 +31,12 @@ class Solution {
3131
vector<int> sorted_sums1(cbegin(sums1), cend(sums1)); // Space: O(2^(n/2))
3232
sort(begin(sorted_sums1), end(sorted_sums1)); // Time: O((n/2) * 2^(n/2)) = O(n * 2^(n/2))
3333
unordered_set<int> sums2{0};
34-
for (int i = size(nums) / 2; i < size(nums); ++i) { // O(n/2) times
35-
for (const auto& x : vector<int>(cbegin(sums2), cend(sums2))) { // O(2^(n/2)) times
34+
for (int i = size(nums) / 2; i < size(nums); ++i) {
35+
for (const auto& x : vector<int>(cbegin(sums2), cend(sums2))) {
3636
if (!sums2.emplace(x + nums[i]).second) {
3737
continue;
3838
}
39-
auto cit = lower_bound(cbegin(sorted_sums1), cend(sorted_sums1), goal - x - nums[i]); // Time: O(n/2)
39+
auto cit = lower_bound(cbegin(sorted_sums1), cend(sorted_sums1), goal - x - nums[i]); // Time: O(2^(n/2)) * O(n/2)
4040
if (cit != cend(sorted_sums1)) {
4141
result = min(result, abs(goal - x - nums[i] - *cit));
4242
}

0 commit comments

Comments
 (0)