We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 069db51 commit 43d2773Copy full SHA for 43d2773
C++/factor-combinations.cpp
@@ -0,0 +1,26 @@
1
+// Time: O(nlogn) = logn * n^(1/2) * n^(1/4) * ... * 1
2
+// Space: O(logn)
3
+
4
+// DFS solution.
5
+class Solution {
6
+ public:
7
+ vector<vector<int>> getFactors(int n) {
8
+ vector<vector<int>> result;
9
+ vector<int> factors;
10
+ getResult(n, &result, &factors);
11
+ return result;
12
+ }
13
14
+ void getResult(const int n, vector<vector<int>> *result, vector<int> *factors) {
15
+ for (int i = factors->empty() ? 2 : factors->back(); i <= n / i; ++i) {
16
+ if (n % i == 0) {
17
+ factors->emplace_back(i);
18
+ factors->emplace_back(n / i);
19
+ result->emplace_back(*factors);
20
+ factors->pop_back();
21
+ getResult(n / i, result, factors);
22
23
24
25
26
+ };
0 commit comments