1027. 最长等差数列(leetcode)

1027. 最长等差数列(leetcode)

题目描述

给你一个整数数组 nums,返回 nums 中最长等差子序列的长度。
回想一下,nums 的子序列是一个列表 nums[i1], nums[i2], …, nums[ik] ,且 0 <= i1 < i2 < … < ik <= nums.length - 1。并且如果 seq[i+1] - seq[i]( 0 <= i < seq.length - 1) 的值都相同,那么序列 seq 是等差的。

示例1

输入:nums = [3,6,9,12]
输出:4
解释: 整个数组是公差为 3 的等差数列。

示例2

输入:nums = [9,4,7,2,10]
输出:3
解释:最长的等差子序列是 [4,7,10]。

示例3

输入:nums = [20,1,15,3,10,5,8]
输出:4
解释:最长的等差子序列是 [20,15,10,5]。

提示信息

2 <= nums.length <= 1000
0 <= nums[i] <= 500

题解1(C++版本)

class Solution {
public:int longestArithSeqLength(vector<int>& nums) {int n = nums.size();vector<vector<int> > dp(n + 1, vector<int>(1010 , 1)); // dp[i][j]表示以第i个元素结尾,公差为j的最长等差数列的最大长度// 每个元素可以看成是长度为1的等差数列int diff = 500; // 避免两个数相减时,出现负数, 导致数组下标溢出的情况int ans = 0;for(int i = 1; i <= n; i++){for(int j = 1; j < i; j++){int t = nums[i - 1] - nums[j - 1] + diff;dp[i][t] = max(dp[i][t], dp[j][t] + 1);ans = max(ans, dp[i][t]);}}return ans;}
};

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

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

相关文章

自媒体内容创作者必备:ChatGPT助你提升文章质量

随着自媒体的迅猛发展&#xff0c;越来越多的人加入到内容创作的行列。然而&#xff0c;要在这个竞争激烈的领域脱颖而出&#xff0c;不仅需要创意和独特的观点&#xff0c;更需要高质量的文章内容。在这方面&#xff0c;ChatGPT作为一个智能写作助手&#xff0c;能够帮助自媒体…

Dilworth定理学习笔记

最近做了两道题&#xff0c;都涉及到了这个定理&#xff0c;虽然我都没有用&#xff0c;不过学会这个定理确实有很多好处。 第一道是[TJOI2015] 组合数学&#xff0c;让你在一个矩阵中用最少的只能往右和往下的路径覆盖掉全部的点&#xff08;点有权值&#xff09;。这道题我一…

【区分vue2和vue3下的element UI Message 消息提示组件,分别详细介绍属性,事件,方法如何使用,并举例】

在 Vue 2 中&#xff0c;我们通常使用 Element UI 的 this.$message 方法来显示消息提示&#xff0c;而不是作为一个组件直接在模板中使用。然而&#xff0c;在 Vue 3 的 Element Plus 中&#xff0c;虽然 this.$message 的使用方式仍然保留&#xff0c;但官方文档可能更倾向于…

靠!AI绘画月入过万!是否现实?

前言 AI人工智能已经出现在了越来越多领域中&#xff0c;比如最近一段时间&#xff0c;AI绘画就受到了许多人的关注&#xff0c;一来&#xff0c;其背后隐藏的版权问题、替代性问题引发了人们的广泛讨论&#xff0c;再者&#xff0c;AI绘画在短期时间内成为了流量密码&#xf…

暑假追高必备:ChildLife全新钙镁锌小绿钙

2024年暑假将至&#xff0c;家长们对于孩子的健康关注再次提升&#xff0c;其中补钙成为许多家长关注的重点。暑假期间&#xff0c;孩子有更多时间进行户外活动&#xff0c;加上高温流汗多&#xff0c;身体的钙更容易流失&#xff0c;因此需要额外地补充。为此&#xff0c;美国…

用友 U8+ 价格取数逻辑

采购—入—仓库—出—生产—入—仓库—出—销售

工业AIoT竞赛流程

不要点到重置&#xff01;&#xff01;&#xff01;要刷新虚拟机就点重启 xshell连接虚拟机&#xff1a;ssh rootPublic IP 环境构建 vim /etc/hosts 按 i 进入插入模式&#xff0c;加内网ip和主机名&#xff0c;按esc&#xff0c;按 : &#xff0c;按wq 三个虚拟机都这样配 …

创新实训博客(十三)——admin前端工作效果

管理/教师端前端工作汇总education-admin&#xff1a; 首先是登录注册页面的展示 管理员 首页 管理员登录后的首页如下图所示 管理员拥有所有的权限 课程管理 1、可以查看、修改、增添、删除课程列表内容 2、可以对课程资源进行操作 3、可以对课程的类别信息进行管理&…

什么类型的网站需要配置OV证书

目录 什么网站更适合OV证书&#xff1a; 申请OV需要注意&#xff1a; 申请单位组织验证型OV SSL证书的详细步骤 OV SSL证书全称Organization Validation SSL(组织验证性SSL证书)&#xff0c;是一种需要验证网站真实身份的数字证书。通过证书颁发机构审查网站企业身份和域名所…

温控系统-DAL数据层(2)BaseDAL和ProductDAL功能代码

BaseDAL是数据层中非常重要的基类&#xff0c;业务DAL使用到其中一些共用方法&#xff1b; ProductDAL.cs结构如下参考&#xff1a; using Common; using STMS.DbUtility; using STMS.Models.DModels; using System; using System.Collections.Generic; using System.Data.Sq…

3D模型优化10个最佳实践

对于许多在建模、渲染和动画方面经验丰富的 3D 建模者来说&#xff0c;3D 优化可能是一个令人畏惧的过程 - 特别是当你正在优化实时应用程序的 3D 模型时&#xff01; 在 Google 上快速搜索“如何优化 3D 文件”将会出现一些建议&#xff0c;例如减少多边形数和消除多余的顶点。…

为什么叫云计算?云计算的优势有哪些

说起云计算大家并不会感到陌生&#xff0c;那么为什么叫云计算&#xff1f;云计算技术的引入通常会使企业的信息技术应用更高效、更可靠、更安全。云计算支持用户在任意位置、使用各种终端获取应用服务。使用了数据多副本容错、计算节点同构可互换等措施来保障服务的高可靠性&a…

等保测评中的问题与建议

随着信息技术的广泛使用和飞速发展&#xff0c;网络安全已逐渐演变为威胁经济社会发展的关键议题。信息安全的范围涵盖了政治、商务、军事、教育等多个方面。其中&#xff0c;信息的存储、分享以及管理&#xff0c;主要取决于政府的宏观规划和决策、商业运作的信息、银行的财务…

不可复制网站上的文字——2种方法

禁用javascript或Console控制台代码 &#xff08;1&#xff09;F12键——设置——勾选禁用javascript &#xff08;2&#xff09;Console控制台敲如下代码&#xff1a; var allowPaste function(e){ e.stopImmediatePropagation(); return true; }; document.addEventListe…

构建 Audio Unit 应用程序

构建 Audio Unit 应用程序 构建 Audio Unit 应用程序从选择设计模式开始I/O Pass ThroughI/O Without a Render Callback FunctionI/O with a Render Callback FunctionOutput-Only with a Render Callback Function其他设计模式 构建应用程序配置 audio session指定 audio uni…

金融行业自动化运维的研究与实践

金融行业自动化运维的研究与实践 在金融行业中&#xff0c;信息技术&#xff08;IT&#xff09;运维已经成为保障业务连续性和稳定性的重要环节。随着金融业务的复杂化和信息系统的多样化&#xff0c;传统的手工运维模式已无法满足高效、安全的需求。自动化运维技术的应用变得…

流计算状态算子灵活开发指南

随着实时数据流处理需求的不断增长&#xff0c;高效、可扩展的流计算框架变得愈发重要。DolphinDB 作为一款高性能分布式时间序列数据库&#xff0c;不仅在数据存储和查询上表现出色&#xff0c;还通过引入面向对象编程&#xff08;OOP&#xff09;编程范式&#xff0c;使得开发…

聚焦 HW 行动,构筑重保邮件安全防线

随着信息技术的飞速发展&#xff0c;网络安全已成为国家安全的重要组成部分。HW行动作为国家级网络安全演练&#xff0c;通过模拟实战攻防&#xff0c;检验和提升国家关键信息基础设施的防护能力。 CACTER凭借多年HW防护经验&#xff0c;提供全面的邮件安全防护体系&#xff0…

python实现syslog接受日志数据源代码

Syslog 是一种标准的日志记录协议&#xff0c;用于传输日志消息。它通常用于集中收集不同系统和设备的日志数据。本文将展示如何使用Python编写一个Syslog服务器&#xff0c;接受并处理Syslog日志消息。 环境准备 在开始之前&#xff0c;请确保你的系统上已经安装了Python。你…

批量视频创作:PlugLink如何助力大规模视频生成(附源码)

批量视频创作&#xff1a;PlugLink如何助力大规模视频生成 传统的视频制作流程往往需要大量的人力、物力和时间投入&#xff0c;这不仅限制了内容产出的效率&#xff0c;也大大提高了成本。为了解决这一问题&#xff0c;PlugLink&#xff0c;一个开源的自动化框架&#xff0c;…