题目

类型:贪心
image.png

解题思路

利用斐波那契数列的递推性质

凑成 k 的最优解中不包含重复数字的结论

凑成 k 的最优解中不包含重复数字:
image.png
image.png

代码

  1. class Solution {
  2. public int findMinFibonacciNumbers(int k) {
  3. int a = 1, b = 1;
  4. while (b <= k) {
  5. int c = a + b;
  6. a = b; b = c;
  7. }
  8. int ans = 0;
  9. while (k != 0) {
  10. if (k >= b) {
  11. k -= b; ans++;
  12. }
  13. int c = b - a;
  14. b = a; a = c;
  15. }
  16. return ans;
  17. }
  18. }