动态规划子序列问题系列一>最长等差数列

news/2024/12/25 23:56:50/

题目: 

 


解析: 

1.状态表示:  

 


2.状态转移方程:      

 


该题痛点: 

 


3.初始化: 

把dp表全部初始化为2 


4.填表顺序: 

 


5.返回值:返回dp表里的最大值 


代码: 

public int longestArithSeqLength(int[] nums) {int n = nums.length;int[][] dp = new int[n][n]; for(int i = 0; i < n; i++)Arrays.fill(dp[i],2);Map<Integer,Integer> hash = new HashMap<>();hash.put(nums[0],0);//注意:哈希表第一个位置要提前放进去int ret = 2;for(int i = 1; i < n; i++){ //固定倒数第二个数for(int j = i+1; j < n; j++){ int a = 2*nums[i]-nums[j];if(hash.containsKey(a))dp[i][j] = dp[hash.get(a)][i]+1;  ret = Math.max(ret,dp[i][j]);}//优化:一边找填dp表,一边找离i位置最近的k下标放到哈希表中hash.put(nums[i],i);}return ret;}

http://www.ppmy.cn/news/1558119.html

相关文章

Javascript手撕题目大全(回顾四)

1.如何使用JS实现Promise 对象?请写出具体代码 Promise其实也不难-CSDN博客 Javascript 手写一个Promise_javascript中手写promise ?-CSDN博客 如何使用 JS 实现 Promise 对象&#xff1f;请写出具体代码 - 前端手写代码面试题 - 面试鸭 - 程序员求职面试刷题神器 题目要求我…

【Visual Studio Code(VSCode)介绍】

Visual Studio Code&#xff08;VSCode&#xff09;介绍 引言 在现代软件开发领域&#xff0c;集成开发环境&#xff08;IDE&#xff09;是程序员不可或缺的工具之一。Visual Studio Code&#xff08;简称VSCode&#xff09;&#xff0c;由微软开发&#xff0c;是一个轻量级但…

Artec Space Spider助力剑桥研究团队解码古代社会合作【沪敖3D】

挑战&#xff1a;考古学家需要一种安全的方法来呈现新出土的陶瓷容器&#xff0c;对比文物形状。 解决方案&#xff1a;Artec Space Spider, Artec Studio 效果&#xff1a;本项目是REVERSEACTION项目的一部分&#xff0c;旨在研究无国家社会中复杂的古代技术。研究团队在考古地…

全国硕士研究生入学考试(考研)常识详解之各类分数线:国家线、院校专业线与自划线

全国硕士研究生入学考试&#xff08;考研&#xff09;常识详解之各类分数线&#xff1a;国家线、院校专业线与自划线 硕士研究生入学考试的分数线是考生能否进入复试、最终被录取的重要参考标准。分数线分为国家线、院校专业线和自划线三类&#xff0c;具体要求根据教育部政策…

Zero Trust 模型:重新定义数字化时代的安全策略

随着云计算、物联网和远程办公的普及&#xff0c;传统的网络边界正在逐渐模糊&#xff0c;安全威胁的形态也在不断演变。面对日益复杂的网络环境&#xff0c;传统的“边界防护”式安全策略显得力不从心。为了应对这一挑战&#xff0c;Zero Trust&#xff08;零信任&#xff09;…

在 Solana 上实现 SOL 转账及构建支付分配器

与以太坊不同&#xff0c;在以太坊中&#xff0c;钱包通过 msg.value 指定交易的一部分并“推送” ETH 到合约&#xff0c;而 Solana 程序则是从钱包“拉取” Solana。 因此&#xff0c;没有“可支付”函数或“msg.value”这样的概念。 下面我们创建了一个新的 anchor 项目&a…

*【每日一题 基础题】 [蓝桥杯 2023 省 B] 飞机降落

题目描述 N 架飞机准备降落到某个只有一条跑道的机场。其中第 i 架飞机在 Ti 时刻到达机场上空&#xff0c;到达时它的剩余油料还可以继续盘旋 Di 个单位时间&#xff0c;即它最早可以于 Ti 时刻开始降落&#xff0c;最晚可以于 Ti Di 时刻开始降落。降落过程需要 Li个单位时间…

HTMLCSSJavaScriptDOM 之间的关系?

一、HTML 中文名&#xff1a;超文本标记语言 英文名&#xff1a;HyperText Markup Language HTML是一种用来结构化Web网页及其内容的标记语言。 HTML 由一系列的元素组成&#xff0c;这些元素可以用来包围不同部分的内容&#xff0c;使其以某种方式呈现或者工作。 图Ⅰ 每…