leetcode1414. 和為 K 的最少斐波那契數字數目(貪心算法)

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

斐波那契數字定義為:

F1 = 1
F2 = 1
Fn = Fn-1 + Fn-2 , 其中 n > 2 。
數據保證對于給定的 k ,一定能找到可行解。

示例 1:

輸入:k = 7
輸出:2
解釋:斐波那契數字為:1,1,2,3,5,8,13,……
對于 k = 7 ,我們可以得到 2 + 5 = 7 。

代碼

class Solution {public int findMinFibonacciNumbers(int k) {LinkedList<Integer> list = new LinkedList<>();list.add(1);int a = 1, b = 1, c = 0,res=0;while (true) {//計算出小于k的數列c = a + b;a = b;b = c;if (c > k) break;list.add(c);}int i=list.size()-1;while (k > 0)//從右到左貪心{if(list.get(i)>k) {i--;continue;}k-=list.get(i);//減去已經找到了的數字,縮小規模res++;i--;}return  res;}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/393593.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/393593.shtml
英文地址,請注明出處:http://en.pswp.cn/news/393593.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

四五六年級計算機教學計劃,五六年級信息技術教學計劃

五六年級信息技術教學計劃一、大綱對本冊教材的要求作為小學階段的信息技術課程&#xff0c;應以學生對計算機的學習心理、學習行為和學習方法為背景&#xff0c;把計算機基礎知識和計算機最新應用融于一體&#xff0c;使之既體現信息技術學科的教學理論&#xff0c;又吸收現代…

ios 跨域_如何在iOS和Android中建立跨域通信橋

ios 跨域I was working on a certain project at work, in which I needed to connect several varying components via messages. Each had its own logic and code language. This made me want to understand all the ways different platforms enable communication.我正在…

阿里巴巴旗下平臺口碑推出無人收銀技術,改造便利店市場;重慶法院運用 AI 探索“智能判案”...

阿里巴巴旗下平臺口碑推出無人收銀技術&#xff0c;改造便利店市場 雷鋒網消息 阿里巴巴旗下本地生活服務平臺口碑今日宣布在上海新興便利店品牌24鮮上線無人收銀技術。消費者只要打開支付寶&#xff0c;掃一掃想要購買的商品的條形碼&#xff0c;就可以自助提交訂單完成支付。…

如何使用射手影音尋找字幕

我們以"理智與情感"Sense and Sensibility為例&#xff0c;在迅雷搜索了下載&#xff0c;結果到了99%就不動了&#xff0c;由于是字幕文件&#xff0c;不能直接把TD的后綴去掉看影片&#xff0c;但是影片已經下載完成&#xff0c;所以我們使用射手影音播放該電影。&a…

mysql 表分區優缺點_Mysql分區表局限性總結

本文測試的版本XML/HTML代碼mysql>select version();------------| version() |------------| 5.1.33-log |------------1 row in set (0.00 sec)一、關于Partitioning Keys, Primary Keys, and UniqueKeys的限制在5.1中分區表對唯一約束有明確的規定&#xff0c;每一個唯一…

C# PagedList 真分頁

一&#xff1a;nuget 下載 PagedList 二&#xff1a;前端頁面 1.需要的數據 model PagedList.IPagedList<DeviceModel>  using PagedList.Mvc 2.使用數據 foreach (var item in Model)   {    <tr> <td>item.Name</td>       <td>…

leetcode1497. 檢查數組對是否可以被 k 整除

給你一個整數數組 arr 和一個整數 k &#xff0c;其中數組長度是偶數&#xff0c;值為 n 。 現在需要把數組恰好分成 n / 2 對&#xff0c;以使每對數字的和都能夠被 k 整除。 如果存在這樣的分法&#xff0c;請返回 True &#xff1b;否則&#xff0c;返回 False 。 示例 1…

計算機頁面設置代碼,計算機二級考試Access輔導:頁面設置模塊代碼分享

Dim up, dn, le, ri, si, liAs Single , co As string’定義邊距及頁面函數Sub ymszmk(strName As String) ’頁面設置模塊On Error GoTo Err_ymszmkIf Nz(DCount("*", "REPORTLIP", "REPORT’" & strName & "’")) 0 ThenMs…

讓我們了解Set及其在JavaScript中的獨特功能

by Asif Norzai通過Asif Norzai 讓我們了解Set及其在JavaScript中的獨特功能&#x1f3b2; (Lets learn about Set and its unique functionality in JavaScript &#x1f3b2;) 設置&#x1f3b2; (SET &#x1f3b2;) ES2015/ES6 gave us a lot of useful tools and feature…

C語言第二次博客作業---分支結構

一、PTA實驗作業 題目1&#xff1a;計算分段函數[2] 本題目要求計算下列分段函數f(x)的值&#xff1a; 1.實驗代碼 double x,result;scanf("%lf",&x);if(x>0){resultsqrt(x);}else{resultpow(x1,2)2*x1/x;}printf("f(%.2f) %.2f",x,result); 2 設計…

oracle+數據到+mysql數據庫亂碼_oracle數據mysql數據庫亂碼

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云數據庫專家保駕護航&#xff0c;為用戶…

ajax 不執行

1、get形式訪問&#xff1a; 一個相同的URL 只有一個結果&#xff0c;所以 第二次訪問的時候 如果 URL字符串沒變化 瀏覽器是 直接拿出了第一次訪問的結果&#xff0c;post則不會 解決辦法: 1、urlnew Date(); &#xff08;每次訪問時url不同&#xff09; 2、 type : get,   …

leetcode870. 優勢洗牌(貪心算法)

給定兩個大小相等的數組 A 和 B&#xff0c;A 相對于 B 的優勢可以用滿足 A[i] > B[i] 的索引 i 的數目來描述。 返回 A 的任意排列&#xff0c;使其相對于 B 的優勢最大化。 示例 1&#xff1a; 輸入&#xff1a;A [2,7,11,15], B [1,10,4,11] 輸出&#xff1a;[2,11,…

Mysql中行轉列和列轉行

一、行轉列即將原本同一列下多行的不同內容作為多個字段&#xff0c;輸出對應內容。建表語句DROP TABLE IF EXISTS tb_score; CREATE TABLE tb_score( id INT(11) NOT NULL auto_increment, userid VARCHAR(20) NOT NULL COMMENT 用戶id, subject VARCHAR(20) COMMENT…

OSChina 周四亂彈 ——妹子喜歡的是程序員 這是標準……

2019獨角獸企業重金招聘Python工程師標準>>> Osc亂彈歌單&#xff08;2017&#xff09;請戳&#xff08;這里&#xff09; 【今日歌曲】 一葉孤鴻 &#xff1a;分享Nanaka的單曲《いのちの名前&#xff08;Cover 木村弓&#xff09;》 《いのちの名前&#xff08;C…

阿里薪資談判技巧_如何像專業人士一樣處理技術職業中的薪資談判

阿里薪資談判技巧by Aline Lerner通過艾琳勒納(Aline Lerner) 如何像專業人士一樣處理技術職業中的薪資談判 (How to handle salary negotiations in your tech career like a pro) 確切地談薪水時要說些什么 (Know exactly what to say when negotiating your salary) There …

xp系統sql服務器怎么找,SQL文件在winxp系統下怎么打開

很多用戶不知道SQL文件是什么?SQL文件怎么打開?我們存儲數據時候經常會遇到SQL文件&#xff0c;如果你不知道WinXP系統SQL文件是什么以及怎么打開的話&#xff0c;那就趕緊看看小編整理的以下文章內容吧!SQL文件是什么?學習編程的同學可能都知道SQL是一種高級的非過程化的編…

Silverlight 設計器加載錯誤

每次打開silverlight頁面出如下錯誤 然后設計器不能將頁面加載出來 最后找了蠻多資料的 感覺這個原因有可能&#xff1a;“控制面板的添加刪除程序那里&#xff0c;選中Microsoft Silverlight&#xff0c;看看他的版本&#xff0c;是否與所裝的SDK的版本號一致。就算兩個版本號…

mysql索引優化實際例子_MySQL索引優化的實際案例分析

Order by desc/asc limit M是我在mysql sql優化中經常遇到的一種場景&#xff0c;其優化原理也非常的簡單&#xff0c;就是利用索引的有序性&#xff0c;優化器沿著索引的順序掃描&#xff0c;在掃描到符合條件的M行數據后&#xff0c;停止掃描&#xff1b;看起來非常的簡單&am…

leetcode441. 排列硬幣(二分查找)

你總共有 n 枚硬幣&#xff0c;你需要將它們擺成一個階梯形狀&#xff0c;第 k 行就必須正好有 k 枚硬幣。 給定一個數字 n&#xff0c;找出可形成完整階梯行的總行數。 n 是一個非負整數&#xff0c;并且在32位有符號整型的范圍內。 示例 1: n 5 硬幣可排列成以下幾行: …