链接:842. 将数组拆分成斐波那契序列

题解:

class Solution {public:vector<int> splitIntoFibonacci(string S) {vector<long long> result;vector<int> res;int begin = 0;if (dfs(result, S, begin)) {for(auto num : result) {res.push_back(num);}// RVOreturn res;}return res;}bool dfs(vector<long long>& result, const std::string& S, int begin) {if(begin >= S.size() && result.size() > 2) {return true;}long long num = 0;for(int i = begin; i < S.size(); ++i) {// 排除开头为0,并且超过1位的数字,比如0XXXif(S[begin] == '0' && i > begin) {return false;}num = num*10 + (S[i]-'0');// 当前这个数字已经大于INT_MAX,没必要在往后面继续加数值if(num > INT_MAX) {break;}//cout << "num: " << num << endl;if(result.size() >= 2) {// 判断是否符合fibonacciif(num == result[result.size()-1] + result[result.size()-2]) {result.push_back(num);if(dfs(result, S, i+1)) {return true;}result.pop_back();}} else {// 没有前面两个数字,直接push_backresult.push_back(num);if(dfs(result, S, i+1)) {return true;}result.pop_back();}}return false;}
};

842. 将数组拆分成斐波那契序列相关推荐

  1. leetcode 842. 将数组拆分成斐波那契序列(回溯算法)

    给定一个数字字符串 S,比如 S = "123456579",我们可以将它分成斐波那契式的序列 [123, 456, 579]. 形式上,斐波那契式序列是一个非负整数列表 F,且满 ...

  2. LeetCode 842. 将数组拆分成斐波那契序列(暴力查找)

    1. 题目 给定一个数字字符串 S,比如 S = "123456579",我们可以将它分成斐波那契式的序列 [123, 456, 579]. 形式上,斐波那契式序列是一个非负整数列 ...

  3. 《每日一题》842. Split Array into Fibonacci Sequence 将数组拆分成斐波那契序列

    给定一个数字字符串 S,比如 S = "123456579",我们可以将它分成斐波那契式的序列 [123, 456, 579]. 形式上,斐波那契式序列是一个非负整数列表 F,且满 ...

  4. leetcode842. 将数组拆分成斐波那契序列(回溯)

    给定一个数字字符串 S,比如 S = "123456579",我们可以将它分成斐波那契式的序列 [123, 456, 579]. 形式上,斐波那契式序列是一个非负整数列表 F,且满 ...

  5. Leetcode每日一题:842.split-array-into-fibonacci-sequenc(将数组拆分成斐波那契序列)

    思路:深度优先搜索,设定最后返回的数组vec,每次搜索只处理一个数,这数可以取1位,也可以取很多位,这取决于前面两个放入vec的数的和(vec只有两个及以下的数时,直接放入),如果无法等于他俩的和,那 ...

  6. 数字拆分为斐波那契数列_检查数字是否为斐波那契

    数字拆分为斐波那契数列 Description: 描述: We are often used to generate Fibonacci numbers. But in this article, w ...

  7. JavaScript实现以数组形式返回斐波那契数列fibonacci算法(附完整源码)

    JavaScript实现以数组形式返回斐波那契数列fibonacci算法(附完整源码) fibonacci.js完整源代码 fibonacci.js完整源代码 export default funct ...

  8. Java - 用数组求出斐波那契数列的前20项值

    斐波那契数列 斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为" ...

  9. 斐波那契序列与黄金分割比

    Fibonacci Sequence: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, - fib = 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 ...

最新文章

  1. 实体链接(Entity Linking)、依存句法分析、成分句法树、词袋模型、文本向量空间模型(TF-IDF)、
  2. bdm导入mysql_vs 2010下使用水晶报表Crystal Reports
  3. 【web安全】Xss Exploits and Defense翻译4
  4. bzoj3223 splay
  5. woocommerce分类页面模板_怎样让wordpress网站的不同分类页面,调用不同的banner图片?...
  6. PHP-FPM对比Swoole:Swoole多了Reactor线程监听Socket 句柄的变化 代码初始化一次不结束进程 ws tcp mqtt服务
  7. 使用 Pandas, Jinja 和 WeasyPrint,轻松创建一个 PDF 报表
  8. “熊猫血”产妇诞双胞胎困难 丈夫全城寻找血源
  9. 计算机不觉晓,人工智能知多少
  10. 解决SilverLight的图片裁剪问题
  11. 3Dmax建模教程详细步骤3D建模速成入门到高级教程 小白必看
  12. 学习Linux的第七十一天
  13. 【线代】矩阵转置性质及代码证明
  14. Python爬虫初学(4)登陆武汉理工大学教务处并转到成绩管理
  15. 车牌归属地 API数据接口
  16. k8s部署nginx
  17. 算法系列之二十:计算中国农历(一)
  18. PAT 1070 结绳
  19. 12306铁道部订票网站性能分析
  20. 科普篇|工厂里常说的QC, IQC, IPQC, QA 是什么

热门文章

  1. 聊聊高并发(二十九)解析java.util.concurrent各个组件(十一) 再看看ReentrantReadWriteLock可重入读-写锁...
  2. php开发app接口-封装类
  3. devsecops automation
  4. maven javaProject打包发布成服务
  5. Newtonsoft.Json 方法使用()
  6. Unity 2D 跑酷道路动起来
  7. System.Management.ManagementException: 访问遭到拒绝的解决方案
  8. 和菜鸟一起学android4.0.3源码之lcd屏幕背光调节
  9. linux之抓包神器tcpdump
  10. Java同步组件之CountDownLatch,Semaphore