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

news2024/7/6 18:31:06

解题步骤:

参考代码:

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;
    }
};

你学会了吗???

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1061852.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python的函数

近期遇到了一个没怎么看懂的Python函数的形式。 def twoSum(self, nums: List[int], target: int) -> List[int]: 后来上网查了资料。

剑指offer——JZ35 复杂链表的复制 解题思路与具体代码【C++】

一、题目描述与要求 复杂链表的复制_牛客题霸_牛客网 (nowcoder.com) 题目描述 输入一个复杂链表&#xff08;每个节点中有节点值&#xff0c;以及两个指针&#xff0c;一个指向下一个节点&#xff0c;另一个特殊指针random指向一个随机节点&#xff09;&#xff0c;请对此链…

如何修改springboot项目启动时的默认图标?

如下所示为springboot项目启动时的默认图标&#xff0c;我们可以把它换成我们自己喜欢的图片 方法如下&#xff1a; 第一步&#xff1a;我们需要将图片放置当前项目的resources目录下 如下所示为我自定义的一张照片 第二步&#xff1a; 方法1:在application.properties文件中…

【数据结构】论如何拿捏快速排序?(含非递归)

目录 一&#xff0c;快速排序&#xff08;递归&#xff09; 1&#xff0c;快排思想 2&#xff0c;霍尔排序 3&#xff0c;挖坑法 4&#xff0c;前后指针法 5&#xff0c;快速排序优化 1&#xff0c;三数取中法选key 2&#xff0c;小区间优化 二&#xff0c;快速排序&a…

超大视频如何优雅切片

背景 有一次录屏产生了一个大小为33G的文件, 我想把他上传到B站, 但是B站最大只支持4G. 无法上传, 因此做了一个简单的探索. 质疑与思考 a. 有没有一个工具或一个程序协助我做分片呢? 尝试 a. 必剪 > 有大小限制, 添加素材加不进去(而且报错信息也提示的不对) b. PR &…

深入剖析红黑树:优雅地平衡二叉搜索树

目录 一.红黑树的概念二.插入操作三.与AVL树的比较 一.红黑树的概念 在之前的学习中&#xff0c;我们了解了二叉搜索平衡树&#xff0c;AVL树通过控制每个结点中的平衡因子的绝对值不超过1&#xff0c;实现了一个高性能的树。而相较于AVL的高度平衡&#xff0c;红黑树觉得AVL为…

Java 基于 SpringBoot+Vue 的留守儿童关爱网站

文章目录 1.研究背景2. 技术栈3.系统分析4系统设计5系统的详细设计与实现5.1系统功能模块5.2管理员功能模块 源码下载地址 1.研究背景 以往的留守儿童爱心的管理&#xff0c;一般都是纸质文件来管理留守儿童爱心信息&#xff0c;传统的管理方式已经无法满足现代人们的需求&…

《存储IO路径》-进程、线程和任务的区别

在Linux IO系统架构中&#xff0c;我们经常会听到进程、线程、任务、jbobs&#xff0c;QD&#xff0c;这些词汇常常会有一些模糊和混淆&#xff0c;本文我们主要对比下这几个概念的区别。 我们来看看这些术语在Linux IO路径中的角色&#xff1a; Process&#xff08;进程&…

基于STM32 ZigBee无线远程火灾报警监控系统物联网温度烟雾

实践制作DIY- GC00168---ZigBee无线远程监控系统 一、功能说明&#xff1a; 基于STM32单片机设计---ZigBee无线远程监控系统 二、功能说明&#xff1a; 1个主机&#xff1a;STM32F103C系列单片机LCD1602显示器蜂鸣器 ZigBee无线模块3个按键&#xff08;设置、加、减&#xff0…

计算机竞赛 题目:基于FP-Growth的新闻挖掘算法系统的设计与实现

文章目录 0 前言1 项目背景2 算法架构3 FP-Growth算法原理3.1 FP树3.2 算法过程3.3 算法实现3.3.1 构建FP树 3.4 从FP树中挖掘频繁项集 4 系统设计展示5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于FP-Growth的新闻挖掘算法系统的设计与实现…

Gallery2分析

本文分析的代码基于 Android 4.x 文章目录 Gallery2介绍基本数据数据源DataManager数据管理LocalSource本地数据源Media数据的加载过程Gallery2页面结构ActivityStateStateManagerGalleryAppImplAbstractGalleryActivityGalleryActivityAlbumSetPage数据加载和渲染过程分析第四…

Python操作MongoDb创建文档及CRUD基本操作

Python3中类的高级语法及实战 Python3(基础|高级)语法实战(|多线程|多进程|线程池|进程池技术)|多线程安全问题解决方案 Python3数据科学包系列(一):数据分析实战 Python3数据科学包系列(二):数据分析实战 Python3数据科学包系列(三):数据分析实战 MongoDB 操作手册----文档…

Access注入---偏移注入 | Mysql注入---DNS注入 | MSSQL---反弹注入

伪静态---假的静态页面判断页面是否为静态&#xff1a;document.lastModified偏移注入使用场景&#xff1a;遇到知道表明&#xff0c;但不知道字段名的情况下使用表.* >&#xff08;核心&#xff09;information_schema.tables&#xff08;去information_schema库里面选中ta…

头戴式耳机怎么戴好看?头戴式耳机正确代法

走在大街上总能看到那么一些人&#xff0c;他们眼神时而朦胧涣散&#xff0c;时而精神奕奕&#xff0c;全身上下始终散发着#请勿打扰#的气息&#xff0c;因为他们都戴着头&#xff01;戴&#xff01;式&#xff01;耳&#xff01;机&#xff01;但是头戴式耳机把头压得扁扁的&a…

UG\NX CAM二次开发 创建加工环境 UF_SETUP_create

文章作者:代工 来源网站:NX CAM二次开发专栏 简介: UG\NX CAM二次开发 创建加工环境 UF_SETUP_create,我们ug编程也是要进去加工模块加载环境,选择模板的这是我们加工编程的第一步 代码实现进入加工环境: void MyClass::do_it() { // 创建加工设置 UF_SETUP…

1300*D. Alice, Bob and Candies(模拟)

Problem - 1352D - Codeforces 解析&#xff1a; 模拟即可。 #include<bits/stdc.h> using namespace std; #define int long long const int N2e55; int t,n,a[N]; signed main(){scanf("%lld",&t);while(t--){scanf("%lld",&n);for(int i…

XPD977协议系列-支持 XPD-LINK™互联 USB 三端口控制器

XPD977 是一款集成 USB Type-C、USB Power Delivery&#xff08;PD&#xff09; 3.0/2.0 以及 PPS、QC3.0/2.0CLASS B 快充协议、华为 FCP/SCP 快充协议、三星 AFC 快充协议、VOOC 2.0 快 充协议、BC1.2 DCP 以及苹果设备 2.4A 充电规范的多功能 USB 三端口控制器&#xff0c;为…

【LeetCode刷题笔记】二维数组

498.对角线遍历 解题思路&#xff1a; 简化问题&#xff0c;首先考虑按照逐条对角线打印元素&#xff0c;而不考虑翻转的情况。 M 行 N 列的二维矩阵总共有 M N - 1 条对角线&#xff08; 右上 -> 左下 &#xff09; 1&#xff09;如何遍历&#xff1a; 从左往右遍历 对角…

【小沐学C++】git和github常见问题汇总

文章目录 1、简介2、下载和安装2.1 Git2.2 TortoiseGit 3、相关功能3.1 基本命令3.2 更新子模块命令 4、常见问题4.1 GitHub访问慢或者无法访问4.1.1 修改本地hosts映射4.1.2 通过Gitee中转fork仓库下载 4.2 OpenSSL SSL_read: Connection was reset, errno 10054 结语 1、简介…

怎么将Linux上的文件上传到github上

文章目录 1. 先在window浏览器中创建一个存储项目的仓库2. 复制你的ssh下的地址1) 生成ssh密钥 : 在Linux虚拟机的终端中,运行以下命令生成ssh密钥2)将ssh密钥添加到github账号 : 运行以下命令来获取公钥内容:3. 克隆GitHub存储库:在Linux虚拟机的终端中,导航到您想要将文件上…