1218. 最长定差子序列

给你一个整数数组 arr 和一个整数 difference,请你找出并返回 arr 中最长等差子序列的长度,该子序列中相邻元素之间的差等于 difference

子序列 是指在不改变其余元素顺序的情况下,通过删除一些元素或不删除任何元素而从 arr 派生出来的序列。

示例 1:

输入:arr = [1,2,3,4], difference = 1
输出:4
解释:最长的等差子序列是 [1,2,3,4]。

示例 2:

输入:arr = [1,3,5,7], difference = 1
输出:1
解释:最长的等差子序列是任意单个元素。

示例 3:

输入:arr = [1,5,7,8,5,3,4,2,1], difference = -2
输出:4
解释:最长的等差子序列是 [7,5,3,1]。

提示:

  • 1 <= arr.length <= 105
  • -104 <= arr[i], difference <= 104

题解

class Solution {public int longestSubsequence(int[] arr, int difference) {int ans = 0;Map<Integer, Integer> dp = new HashMap<Integer, Integer>();for (int v : arr) {dp.put(v, dp.getOrDefault(v - difference, 0) + 1);ans = Math.max(ans, dp.get(v));}return ans;}
}

1218. 最长定差子序列【我亦无他唯手熟尔】相关推荐

  1. 237. 删除链表中的节点【我亦无他唯手熟尔】

    237. 删除链表中的节点 请编写一个函数,用于 删除单链表中某个特定节点 .在设计函数时需要注意,你无法访问链表的头节点 head ,只能直接访问 要被删除的节点 . 题目数据保证需要删除的节点 不 ...

  2. 136. 只出现一次的数字【我亦无他唯手熟尔】

    136. 只出现一次的数字 136. 只出现一次的数字 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素.说明:你的算法应该具有线性时间复杂度. 你 ...

  3. 1929. 数组串联【我亦无他唯手熟尔】

    1929. 数组串联 题目 题解 题目 给你一个长度为 n 的整数数组 nums .请你构建一个长度为 2n 的答案数组 ans ,数组下标 从 0 开始计数 ,对于所有 0 <= i < ...

  4. 438. 找到字符串中所有字母异位词【我亦无他唯手熟尔】

    438. 找到字符串中所有字母异位词 438. 找到字符串中所有字母异位词 题解 官方 438. 找到字符串中所有字母异位词 难度 中等 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 ...

  5. 786. 第 K 个最小的素数分数【我亦无他唯手熟尔】

    786. 第 K 个最小的素数分数 786. 第 K 个最小的素数分数 题解 786. 第 K 个最小的素数分数 难度 困难 给你一个按递增顺序排序的数组 arr 和一个整数 k .数组 arr 由 ...

  6. Leecode 1218. 最长定差子序列——Leecode每日一题系列

    今天是坚持每日一题打卡的第十天 题目链接:https://leetcode-cn.com/problems/longest-arithmetic-subsequence-of-given-differ ...

  7. 1218. 最长定差子序列

    文章目录 1 题目理解 2 开始思考 1 题目理解 给你一个整数数组 arr 和一个整数 difference,请你找出并返回 arr 中最长等差子序列的长度,该子序列中相邻元素之间的差等于 diff ...

  8. LeetCode 1218. 最长定差子序列(哈希map)

    1. 题目 给你一个整数数组 arr 和一个整数 difference,请你找出 arr 中所有相邻元素之间的差等于给定 difference 的等差子序列,并返回其中最长的等差子序列的长度. 示例 ...

  9. leetcode - 1218. 最长定差子序列 (使用哈希表)

    给你一个整数数组 arrarrarr 和一个整数 differencedifferencedifference,请你找出 arrarrarr 中所有相邻元素之间的差等于给定 differencedif ...

  10. Leetcode 1218.最长定差子序列

    Time: 20191006 Type: Medium 题目描述 给你一个整数数组 arr 和一个整数 difference,请你找出 arr 中所有相邻元素之间的差等于给定 difference 的 ...

最新文章

  1. where is the oracle 12c logfile
  2. html css盒子顶层,HTML学习之四CSS盒子
  3. python实现两数之和
  4. antiddos翻译_AntiDDoS8000系列DDoS防御系统
  5. cas ajax请求重定向,cas 单点登录 .net client mvc 重定向问题
  6. 启动关闭HadoopSpark历史服务
  7. OpenGL基础31:混合
  8. DevExpress 换肤
  9. 如何解决stata数据管理器中变量变红的问题
  10. Python实现人机中国象棋游戏
  11. MAC(多路访问控制)协议
  12. zblog小程序模板-青春小程序模板
  13. kodi树莓派_【树莓派】树莓派与XBMC及Kodi、LibreELEC插件(二)
  14. 无线承载根据承载的内容不同分为SRB和DRB EPS承载根据用户业务需求和Qos的不同可以分为GBR/ Non-GBR 承载...
  15. 【历史上的今天】1 月 23 日:现代集成电路雏形;JDK 1.0 发布;数学大师诞生
  16. HDWiki的兼容性问题
  17. 在docker容器里的Linux环境下,执行netstat命令显示 command not found
  18. 【入门】(二)相机标定、矩阵求解、相机位姿势估计
  19. 卡券、直充下单接口文档
  20. flutter 开发中问题盘锦

热门文章

  1. C# 实现蓝牙检测及蓝牙设备信息获取代码
  2. Vue之assets图片加载不出来
  3. Android封装拍照sdk,Android 短视频拍摄、拍照滤镜 第三方库SDK
  4. JavaScript个人学习心得
  5. Android 手机震动功能实现
  6. 如何使用快应用内置地图查看、导航位置
  7. 字符间距和文字效果(转)
  8. 用计算机撩人套路,各种撩人的套路句子40句
  9. Java代码审计——SSH 框架审计技巧
  10. python用空格隔开每一个字符_Python(字符串操作实例1)一个字符串用空格隔开