解题步骤:
参考代码:
- class Solution {
- public:
- int lenLongestFibSubseq(vector<int>& nums) {
- int n=nums.size();
- unordered_map<int,int> hash;
- for(int i=0;i
- {
- hash[nums[i]]=i;
- }
- int ret=2;
- vector
int>> dp(n,vector<int>(n,2)); - //先固定最后一个元素,因为至少三个元素才能组成斐波那契子序列,
- //所以j可以从2开始
- for(int j=2;j
- {
- //固定倒数第二个元素,同上,i从1开始
- for(int i=1;i
- {
- int b=nums[i];
- int c=nums[j];
- int a=c-b;
- //这里先判断a是否合法,再判断a在不在哈希表,因为查找效率更慢一下
- if(acount(a))
- {
- dp[i][j]=dp[hash[a]][i]+1;
- }
- ret=max(ret,dp[i][j]);
- }
- }
- return ret<3?0:ret;
- }
- };
你学会了吗???
-
相关阅读:
windows下redis设置redis开机自启动方法
计算机毕业设计(附源码)python在线考试系统
【PCB学习笔记】绘制智能车四层板 ---PCB封装库的创建方法及现有封装调用
学成在线----认证服务
对数线性模型用于序列标注
Scanpy(七)基于scanorama整合scRNA-seq实现空间数据分析
计算机网络知识点(五)
由于flutter_app依赖于flutter_swiper>=0.0.2,不支持零安全,版本解决失败。
IDEA集成Docker插件打包服务镜像与运行【附Docker命令汇总】
不为人知的暴利项目,互联网“抖音小店无货源”听说过的已经月入过万了
-
原文地址:https://blog.csdn.net/weixin_70056514/article/details/133578985