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

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 = 1000
        ll = 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 = 1
        for d in range(min_cha, max_cha+1):
            f = {}

            for num in nums:
                if num-d in f:
                    f[num] = f[num-d] + 1
                else:
                    f[num] = 1
                res = max(f[num],res)
        return res




http://www.kler.cn/a/350288.html

相关文章:

  • Yearning开源MySQL SQL审核平台
  • 内存 管理
  • 可视化-numpy实现线性回归和梯度下降法
  • 迅为龙芯2K1000开发板/核心板流畅运行Busybox、Buildroot、Loognix、QT5.12系统
  • Linux TCP 之 RTT 采集与 RTO 计算
  • TiDB与Oracle:数据库之争,谁能更胜一筹?
  • QOwnNotes:开源界的黑马,专业人士的不二之选
  • git merge啥意思
  • 力扣3194.最小元素和最大元素的平均最小值
  • 提升效率的秘密武器:如何选择合适的编程工具
  • STM32外设应用全解析
  • 【Unity】Unity中接入Admob聚合广告平台,可通过中介接入 AppLovin,Unity Ads,Meta等渠道的广告
  • 快速理解AUTOSAR CP的软件架构层次以及各层的作用
  • 第三弹:探索网络传输中的TFTP、UDP广播与多播技术
  • 打印杨辉三角形
  • 用Cursor开发了一个图片分割器
  • 观察者模式和发布-订阅模式的区别
  • 汽车结构设计外覆盖件抗凹分析的意义和分类
  • HarmonyOS Next模拟器异常问题及解决方法
  • 信息和介质的辩证
  • 智能化企业新人培训:AI助理如何加速新员融入与成长
  • 遥感图像处理又上大分!加个多模态,一篇A会到手~
  • 洛谷P1484.种树
  • 【Linux】基本认知全套入门
  • docker启动的rabbitmq如何启动其SSL功能
  • 嵌入式中数据库sqlit3基本使用方法与现象