当前位置: 首页 > news >正文

leetcode 1027 最长等差数列 题目的思考

https://leetcode.cn/problems/longest-arithmetic-subsequence/

在这里插入图片描述
如果序列是:3 0 3,枚举的公差是3
对于第一个数3,它的序列长度就是他自己3
对于第二个数0,它的序列长度就行它自己0
对于第三个数,它的序列长度应该是【0,3】长度为2,第一个数也是3

一个数出现的位置越靠后,则能构成的等差数列的长度就有可能会越长

class Solution:def longestArithSeqLength(self, nums: List[int]) -> int:min_t = nums[0]max_t = nums[0]# 最大公差max_cha = -1# 最小公差min_cha = 1000ll = len(nums)for i in range(1,ll):min_cha = min(nums[i]-max_t, min_cha)max_cha = max(nums[i]-min_t, max_cha)min_t = min(nums[i],min_t)max_t = max(nums[i],max_t)res = 1for d in range(min_cha, max_cha+1):f = {}for num in nums:if num-d in f:f[num] = f[num-d] + 1else:f[num] = 1res = max(f[num],res)return res

http://www.mrgr.cn/news/49445.html

相关文章:

  • 【前端】Bootstrap:快速开始
  • DataStore存储数据+加上加密
  • C++的类和动态内存分配(深拷贝与浅拷贝)并实现自己的string类
  • vue3之 shallowRef、markRaw
  • [Linux] 软硬链接
  • 7.2-I2C的DMA中断
  • RAII - 安卓中的智能指针
  • 如何有效参与机器人顶会?——周易教授PRE-IROS 2024分享
  • GS-LRM: Large Reconstruction Model for 3D Gaussian Splatting 论文解读
  • 性能测试-JMeter(3)
  • 深度解读 JDK 8、JDK 11、JDK 17 和 JDK 21 的区别
  • CountUp.js 实现数字增长动画 Vue
  • 苏姿丰发布AMD最强AI芯片|苹果质疑大语言模型根本无法进行逻辑推理|Kimi的商业化困局|杰弗里·辛顿:“图灵诺奖双得主”、“AI教父”,至高荣誉加身
  • RabbitMQ 高级特性——死信队列
  • MySQL从入门到跑路
  • AI/LLM 大模型入门指南相关的命令行脚本
  • OpenCV系列教程四:特征检测与特征匹配,图像查找、对齐和拼接
  • Yocto - 使用Yocto开发嵌入式Linux系统_09 深入了解BitBake元数据
  • 用SAM2和Cutie模型目标追踪
  • 程序地址空间 -- 详解