Skip to content

Commit 0028696

Browse files
authored
Create find-the-minimum-number-of-fibonacci-numbers-whose-sum-is-k.cpp
1 parent 97beeb3 commit 0028696

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
// Time: O(logk)
2+
// Space: O(1)
3+
4+
class Solution {
5+
public:
6+
int findMinFibonacciNumbers(int k) {
7+
int result = 0, a = 1, b = 1;
8+
while (b <= k) {
9+
tie(b, a) = pair(a + b, b);
10+
}
11+
while (k) {
12+
if (a <= k) {
13+
k -= a;
14+
++result;
15+
}
16+
tie(a, b) = pair(b - a, a);
17+
}
18+
return result;
19+
}
20+
};

0 commit comments

Comments
 (0)