LeetCode Daily 22
2022/2/3 23:45:59
本文主要是介绍LeetCode Daily 22,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
2022-2-3 T.1414 和为 K 的最少斐波那契数列
题目描述:
给你数字 k ,请你返回和为 k 的斐波那契数字的最少数目,其中,每个斐波那契数字都可以被使用多次。 斐波那契数字定义为: F1 = 1 F2 = 1 Fn = Fn-1 + Fn-2 , 其中 n > 2 。 数据保证对于给定的 k ,一定能找到可行解。
示例:
输入:k = 7 输出:2 解释:斐波那契数字为:1,1,2,3,5,8,13,…… 对于 k = 7 ,我们可以得到 2 + 5 = 7 。
思路:
使用vector存储斐波那契数列。贪心不断判断是否可以继续减下去。不断维护更新被减数。
代码:
class Solution { public: int findMinFibonacciNumbers(int k) { vector<int> nums(2, 1); int n = 2, ans = 0; while(nums.back() <= k){ nums.push_back(nums[n - 2] + nums[n - 1]); n++; } for(int i = n - 1; i >= 0; i--){ if(nums[i] <= k){ ans++; k -= nums[i]; } } return ans; } };
这篇关于LeetCode Daily 22的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-28pyqt 怎么打包整个项目-icode9专业技术文章分享
- 2024-09-28laravel Commands 创建带有参数的 Artisan 命令的步骤和示例-icode9专业技术文章分享
- 2024-09-28antd怎么实现渲染tiff图片-icode9专业技术文章分享
- 2024-09-28英文半角中划线和中文全角的中划线有什么区别-icode9专业技术文章分享
- 2024-09-28nvm npm 和node 他们之间有什么关系-icode9专业技术文章分享
- 2024-09-28Node Version Manager (nvm)使用教程-icode9专业技术文章分享
- 2024-09-28nvm命令太慢,是什么原因-icode9专业技术文章分享
- 2024-09-28Kotlin 如何增加、删除和修改 MutableStateFlow 中的值。-icode9专业技术文章分享
- 2024-09-28Kotlin的stateFlow.update 写法介绍-icode9专业技术文章分享
- 2024-09-28kotlin 怎么获取当前时间格式-icode9专业技术文章分享