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

lc1027-最长等差数列

题目描述

  • 给定一个数组,计算最长等差数列的长度

示例

输入:nums = [3,6,9,12]
输出:4
解释:3 6 9 12
输入:nums = [9,4,7,2,10]
输出:3
解释:4 7 10
输入:nums = [20,1,15,3,10,5,8]
输出:4
解释:20 15 10 5

题解

  • 思路:DP
    • f(i,j): 以 i 结尾,公差为 j
    • 结果至少为 2
    • 转移方程:f[i][j] = max(f[i][j], f[k][j] + 1) k<i
func longestArithSeqLength(nums []int) int {n := len(nums)f := make([]map[int]int, n)res := 2for i := 0; i < n; i ++ {for k := 0; k < i; k ++ {j := nums[k] - nums[i]if f[i] == nil { f[i] = map[int]int{} }if f[k] == nil { f[k] = map[int]int{} }if _, ok := f[i][j]; !ok {f[i][j] = 2}if _, ok := f[k][j]; ok {f[i][j] = max(f[i][j], f[k][j] + 1)res = max(res, f[i][j])}}}return res
}
http://www.rkmt.cn/news/4781.html

相关文章:

  • np.zeros函数
  • Langchain之让LLM拥有记忆
  • numpy中的shape属性
  • mac 查看fat32磁盘
  • Python数据分析零基础完整课程大纲(详细版)【202509第1版】 - 指南
  • VSTO QQ群 61840693 解散通知【新群193203228 】
  • Clion 实现多个 main 函数执行互不影响
  • 腾讯终于对Claude code下手了?我拿它跑完一个真实项目,结果有点意外…
  • 快速利用AI读论文
  • 日常练习一部分
  • SpringCloud全解:核心组件与实战案例 - 教程
  • 学起plus刷课
  • 202212_风二西_冰蝎流量分析
  • 记账:报表
  • 记账:快速上手
  • Madness - TryHackMe
  • 机器人逆运动学进阶:李代数、矩阵指数与旋转流形计算
  • CSP2025 游记
  • Luogu P14031 【MX-X20-T5】「FAOI-R7」连接时光 II
  • 完整教程:JMeter基本介绍
  • []
  • Source Insight 4.0安装和使用教程
  • ORA-00800
  • 第一周个人作业——我
  • Acrobat Pro DC 2025破解版安装下载教程,附永久免费免中文破解版(稳定版安装包)
  • 华擎、微星、华硕BIOS阵脚线序及杜邦现自制刷机线
  • AT_abc422_f [ABC422F] Eat and Ride 题解
  • 模拟赛 R14
  • Java并发编程(2)
  • 深入解析:精确位置定位,AR交互助力高效作业流程​