5373 和為 K 的最少斐波那契數字數目

2021-10-05 05:27:56 字數 723 閱讀 7262

給你數字 k ,請你返回和為 k 的斐波那契數字的最少數目,其中,每個斐波那契數字都可以被使用多次。

斐波那契數字定義為:

f1 = 1

f2 = 1

fn = fn-1 + fn-2 , 其中 n > 2 。

資料保證對於給定的 k ,一定能找到可行解

1.貪心

class solution:

def findminfibonaccinumbers(self, k: int) -> int:

f1=1

f2=1

s=[1,1]

for i in range(100):

f=f1+f2

f1=f2

f2=f

if f>k:

s.pop()

break

res=0

for i in range(len(s)-1,-1,-1):

if kint:

t = [0, 1, 1]

while t[-1] < k:

t = t[::-1]

res = 0

while k:

if t[0] > k:

t.pop(0)

else:

k -= t[0]

res += 1

return res

5373 和為 K 的最少斐波那契數字數目

解題思路 解題思路 他人 給你數字 k 請你返回和為 k 的斐波那契數字的最少數目,其中,每個斐波那契數字都可以被使用多次。斐波那契數字定義為 f1 1 f2 1 fn fn 1 fn 2 其中 n 2 資料保證對於給定的 k 一定能找到可行解。示例 1 輸入 k 7 輸出 2 解釋 斐波那契數字為...

斐波那契數

入門訓練 fibonacci數列 時間限制 1.0s 記憶體限制 256.0mb 問題描述 fibonacci數列的遞推公式為 fn fn 1 fn 2,其中f1 f2 1。當n比較大時,fn也非常大,現在我們想知道,fn除以10007的餘數是多少。輸入格式 輸入包含乙個整數n。輸出格式 輸出一行,...

斐波那契數

斐波那契數列 fibonacci sequence 簡介 斐波那契數列 fibonacci sequence 又稱 分割 數列 因 數學家列昂納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入,故又稱為 兔子數列 指的是這樣乙個數列 1 1 2 3 5 8 13 21 ...