当前位置: 首页 > news >正文

将数组拆分成斐波那契序列

题目描述

在这里插入图片描述

示例

在这里插入图片描述

代码如下:

public class SplitIntoFibonacci {LinkedList<Integer> res = new LinkedList<>();public List<Integer> splitIntoFibonacci(String num) {if(num.length() < 3) return res;if(dfs(num, 0)) return res;return new LinkedList<>();}public boolean dfs(String num, int start) {//边界条件判断,如果截取完了,并且res长度大于等于3,表示找到了一个组合。if (start == num.length() && res.size() >= 3) {return true;}for (int i = start; i < num.length(); i++) {//两位以上的数字不能以0开头if (num.charAt(start) == '0' && i > start) {break;}String s = num.substring(start, i + 1);//截取字符串转化为数字long cur = Long.valueOf(s);//如果截取的数字大于int的最大值,则终止截取if (cur > Integer.MAX_VALUE) {break;}int size = res.size();//如果截取的数字大于res中前两个数字的和,说明这次截取的太大,直接终止,因为后面越截取越大if (size >= 2) {if(cur > res.get(size - 1) + res.get(size - 2)){break;}if(cur < res.get(size - 1) + res.get(size - 2)){continue;}}//把数字cur添加到集合res中res.add((int) cur);//如果找到了就直接返回if (dfs(num, i + 1))return true;//如果没找到,就会走回溯这一步,然后把上一步添加到集合res中的数字给移除掉res.removeLast();}return false;}}
http://www.lryc.cn/news/198921.html

相关文章:

  • 【Linux】:权限
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • CleanMyMac苹果电脑清理软件是智商税吗?最全评测价格、清理效果一次说清
  • 【pytorch 中 torch.max 和 torch.argmax 的区别】
  • 无效的 page.json [“window“] 页面.json配置了“window“: {“disableScroll“: true}
  • 2023最新短视频配音软件~
  • 【内网击穿工具 】NATAPP
  • vue 使用crypto.js解密后,用JSON.parse转义报错非空白格解决办法
  • 全景分割的自监督学习
  • 基于python的23种设计模式
  • 屏幕录制视频编辑软件 Camtasia 2023 mac中文版软件功能
  • 关于spring的xml文件中的xmlns,xsi,schemaLocation
  • mac-“准备安装时发生错误,请尝试重新运行此应用程序” + mac未能安装所需的固件更新
  • 二叉搜索树的详解及Map和Set的介绍
  • 【Android知识笔记】JNI专题
  • C++面试题目汇总【持续更新】
  • 【PXIE301-211】青翼科技基于PXIE总线的16路并行LVDS数据采集、1路光纤数据收发处理平台
  • WPF实现签名拍照功能
  • 基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持自定义业务表单流程的集成方法与步骤(二)
  • 【Qt控件之微调框、进度条】QSpinBox、QDoubleSpinBox、QDial、QProgressBar介绍及使用
  • Python学习-----Day09
  • 世界国家/地区行驶方向数据
  • idgen导入Android11源码
  • 大同小异!如何在苹果不同类型设备上更改AirDrop的名称
  • sqlmap --os-shell选项原理解析
  • 谈谈 Redis 持久化机制,RDB、AOF
  • 并发编程——2.基础概念及其它相关的概述
  • 20231019 filezilla 配置 Windows与Ubuntu文件传输
  • 一个.Net开发的轻量级SQLite数据库ORM
  • gRPC通信