力扣 1027. 最长等差数列 python AC

动态规划

class Solution:def longestArithSeqLength(self, nums):size = len(nums)maxv = 0dp = [[1] * 1001 for _ in range(size)]for i in range(size):for j in range(i):d = nums[j] - nums[i] + 500dp[i][d] = max(dp[i][d], dp[j][d] + 1)maxv = max(maxv, dp[i][d])return maxv

定义dp[i][j]的状态为:到i为止公差为j的最长子序列长度

--dp:size行1001列(公差范围为[-500, 500]),默认值为1(长度至少为1)

--从0到size遍历i

  --从0到i遍历j

    --计算公差d = nums[j] - nums[i](j在i前面,所以j-i),d范围为[-500, 500],索引范围为[0, 1000],最后要+500得到公差对应的索引

    --更新dp[i][d](到i为止公差为d的最长子序列的长度)为dp[i][d]和dp[j][d] + 1的较大值

    --更新maxv为maxv和dp[i][d]的较大值

    (maxv:全局变量,用于保存所有结束位置和所有公差能够得到的最长子序列长度)

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

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

相关文章

【数据结构】栈的实现以及数组和链表的优缺点

个人主页:一代… 个人专栏:数据结构 1.栈 1.1栈的概念及结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端 称为栈顶,另一端称为栈底。栈中的数据元素遵守后进…

ETL工具kettle(PDI)入门教程,Job

先新建两个Transform,MysqlToMysql.ktr和CsvToExcel.ktrURL:ETL工具kettle入门教程,transform,Mysql->Mysql,Csv->Excel-CSDN博客 主对象树,作业上右击,点击新建 核心对…

【回溯算法】【Python实现】n皇后问题

文章目录 [toc]问题描述回溯算法Python实现时间复杂性 问题描述 在 n n n \times n nn格的棋盘上放置彼此不受攻击的 n n n个皇后,按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子 n n n皇后问题等价于,在 n n …

面试题库-项目

1.项目主要实现了哪些功能? 本项目是专门为校园食堂窗口定制的一款软件产品,包括系统管理后台和客户端两部分。其中系统管理后台主要提供给食堂内部员工使用,可以对餐厅的菜品、套餐、订单、员工等进行管理维护。客户端主要提供给学生及校职…

台球桌上的答案 如何优化图形化编程对复杂程序的展现

在公司的休息区,卧龙和凤雏正站在台球桌旁,一场激战即将打响。 “来吧,凤雏,让我们一决高下!”卧龙手持台球杆,面带自信的微笑,向凤雏发起挑战。 凤雏点了点头,拿起台球杆&#xff0…

自定义表单工作流的优势介绍

当前,应用低代码技术平台可以助力企业提高效率,降低开发成本,实现个性化场景定制,因而越来越得到了客户的信赖与喜爱。很多客户朋友询问自定义表单工作流的优势和特点,为了帮助大家解决这个疑问,今天&#…

代码规范文档

提示:文章 文章目录 前言一、背景二、 2.1 2.2 总结 前言 前期疑问: 本文目标: 一、背景 最近 二、 2.1 关于花括号,分为K&R风格和allman风格 现在增加一个关于代码规范的链接: [华为方舟编译器开发文档…

代码随想录算法训练营Day 38| 动态规划part01 | 理论基础、509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯

代码随想录算法训练营Day 38| 动态规划part01 | 理论基础、509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯 文章目录 代码随想录算法训练营Day 38| 动态规划part01 | 理论基础、509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯理论基础一、常规题目二、解题步骤…

极简——高并发下缓存穿透、雪崩、击穿定义和解决方案

缓存穿透 定义:查询一个一定不存在的数据,由于缓存不命中,将去查询数据库,但是数据库也没有这个数据,我们没有把查询的null写入缓存,这就将导致这个不存在的数据每次请求都去数据库查询,失去了…

PLC设备通过智能网关采用HTTP协议JSON文件对接MES等系统平台

智能网关IGT-DSER集成了多种PLC的原厂协议,方便实现各种PLC、智能仪表通过HTTP协议与MES等各种系统平台通讯对接。PLC内不用编写程序,设备不用停机,通过网关的参数配置软件(下载地址)配置JSON文件的字段与PLC寄存器地址等参数即可。 智能网关…

如何给文件和文件夹添加备注信息

1. 给文件添加备注信息 1. 打开文件夹,点击查看 → 选项 → 更改文件夹和搜索选项 → 勾除隐藏受保护的操作系统文件 → 勾选显示隐藏的文件、文件夹和驱动器; 2. listary工具搜索desktop.ini,随便点击一个desktop.ini文件,即可…

力扣:763. 划分字母区间

763. 划分字母区间 给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。 注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是 s 。 返回一个表示每个字符串片段的长度…

iOS 侧滑手势的打开关闭

方法一: 参考文章:点这里 方法二: - (void)viewWillDisappear:(BOOL)animated{[super viewWillDisappear:animated];[self.navigationController.navigationBar setHidden:NO];//在其他离开改页面的方法同样加上下面两句代码self.isTapBac…

Gartner发布准备应对勒索软件攻击指南:勒索软件攻击的三个阶段及其防御生命周期

攻击者改变了策略,在某些情况下转向勒索软件。安全和风险管理领导者必须通过提高检测和预防能力来为勒索软件攻击做好准备,同时还要改进其事后应对策略。 主要发现 勒索软件(无加密的数据盗窃攻击)是攻击者越来越多地使用的策略。…

git的标签管理

理解标签 在Git中,标签tag用于标记特定的一个重要点,比如版本发布。标签允许捕捉某一次提交的状态,当我们需要退回到某次提叫的版本时,通过标签我们快速定位到。标签具有两种类型: 轻量标签:最简单的标签形式&#x…

Linux(CentOS7)离线使用安装盘部署Telnet

[在线工具网 - 各类免费AI工具合集,免费pdf转word等](https://www.orcc.online) https://orcc.online 挂载镜像CentOS-7-x86_64-DVD-1810.iso到/mnt下(其他位置也行),命令如下: mount /dev/sr0 /mnt 安装包默认在Pa…

C++ 概览并发

并发 资源管理 资源 程序中符合先获取后释放(显式或隐式)规律的东西,比如内存、锁、套接字、线程句柄和文件句柄等。RAII: (Resource Acquisition Is Initialization),也称为“资源获取就是初始化”,是C语言的一种管…

[运维|系统] linux修改了/etc/fstab文件后,检查/etc/fstab文件是否正常

要求检查的原因 当修改了 /etc/fstab文件后,如果fstab中的内容出现错误,则会导致下次开机时,系统无法进入系统 检查命令 使用以下命令检查 fstab 文件内容是否正常 mount -a这个命令会尝试挂载 fstab 文件中列出的所有文件系统。如果 fst…

Vue.js-----vue组件

能够说出vue生命周期能够掌握axios的使用能够了解$refs, $nextTick作用能够完成购物车案例 Vue 生命周期讲解 1.钩子函数 目标:Vue 框架内置函数,随着组件的生命周期阶段,自动执行 作用: 特定的时间点,执行特定的操作场景: 组…

hw蓝初中级面试题整理(流量特征+场景题)

Webshell检测: 0、d盾河马阿里伏魔查杀1、有具体时间的话可以根据时间和正则匹配关键字定位,然后封ip,追踪ip最后做了什么2、在网络层监控 HTTP,并且检测到有人访问了一个从没访问过的文件,而且返回了 200&#xff0c…