leetcode-5373-和为K的最少斐波那契数字数目
题目描述:
解法:贪心,每次减去<k的最大斐波那契数
class Solution: def findMinFibonacciNumbers(self, k: int) -> int: fib = [1, 1] while fib[-1] <= k: fib.append(fib[-1] + fib[-2]) ans = 0 while k > 0 and fib[-1] > 1: if k >= fib[-1]: ans += 1 k -= fib[-1] else: fib.pop() return ans + k