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.mzph.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 硬币可排列成以下几行: …