力扣 -- 1027. 最长等差数列

解题步骤:

参考代码:

cpp 复制代码
class Solution {
public:
    int longestArithSeqLength(vector<int>& nums) {
        int n=nums.size();
        int ret=2;
        unordered_map<int,int> hash;

        //这里可以先把nums[0]存进哈希表中,方便后面i从1开始遍历
        hash[nums[0]]=0;
        vector<vector<int>> dp(n,vector<int>(n,2));

        for(int i=1;i<n;i++)
        {
            for(int j=i+1;j<n;j++)
            {
                int b=nums[i];
                int c=nums[j];
                int a=2*b-c;

                if(hash.count(a))
                {
                    dp[i][j]=dp[hash[a]][i]+1;
                }
                ret=max(ret,dp[i][j]);
            }
            //第i行填完之后记得把这个nums[i]和i绑定放进哈希表中
            hash[nums[i]]=i;
        }
        return ret;
    }
};

你学会了吗???

相关推荐
CSDN_RTKLIB2 小时前
两版本锁抛出异常测试
c++
晨非辰2 小时前
Linux权限管理速成:umask掩码/file透视/粘滞位防护15分钟精通,掌握权限减法与安全协作模型
linux·运维·服务器·c++·人工智能·后端
TracyCoder1239 小时前
LeetCode Hot100(15/100)——54. 螺旋矩阵
算法·leetcode·矩阵
u01092727110 小时前
C++中的策略模式变体
开发语言·c++·算法
2501_9418372610 小时前
停车场车辆检测与识别系统-YOLOv26算法改进与应用分析
算法·yolo
Aevget11 小时前
MFC扩展库BCGControlBar Pro v37.2新版亮点:控件功能进一步升级
c++·mfc·界面控件
探序基因11 小时前
单细胞Seurat数据结构修改分群信息
数据结构
六义义12 小时前
java基础十二
java·数据结构·算法
四维碎片12 小时前
QSettings + INI 笔记
笔记·qt·算法
Tansmjs12 小时前
C++与GPU计算(CUDA)
开发语言·c++·算法