首页 > 其他分享 >动态规划子序列问题系列一>最长定差子序列

动态规划子序列问题系列一>最长定差子序列

时间:2024-12-18 21:57:36浏览次数:10  
标签:arr hash int ret 差子 序列 difference 最长

题目: 

 


解析:  

 


代码:
public int longestSubsequence(int[] arr, int difference) {
        //直接创建一个dp表,直接在这个hash表里做动态规划
        Map<Integer,Integer> hash = new HashMap<>();
        int ret = 1;
        //hash里绑定<x,dp[i]>
        for(int x : arr){
            hash.put(x,hash.getOrDefault(x-difference,0)+1);
            ret = Math.max(ret,hash.get(x));
        }
        return ret;
    }

标签:arr,hash,int,ret,差子,序列,difference,最长
From: https://blog.csdn.net/robin_suli/article/details/144570600

相关文章

  • 18章6节:Facebook 的时间序列预测的 Prophet 模型
    时间序列分析是数据科学中重要的分支,广泛应用于金融、经济、交通、气象等多个领域。近年来,由Facebook开源的Prophet模型因其简单易用、灵活度高和预测效果显著,受到了数据分析和预测领域的广泛关注。本文首先介绍Prophet的背景及其与传统ARIMA模型的对比,包括灵活度、对缺失值的......
  • 【时间序列分析】肯德尔(Kendall)相关系数基础理论及python代码实现
    文章目录1.肯德尔(Kendall)相关系数定义2.什么是秩相关系数3.计算方法4.示例及代码实现4.1示例4.2python代码实现5.优缺点6.适用范围7.与斯皮尔曼相关系数比较8.思考8.1当变量中有重复值时肯德尔(Kendall)相关系数是如何计算的?1.肯德尔(Kendall)相关系数定义......
  • 14. 最长公共前缀
    题目链接解题思路:用第一个字符串的每个字符,逐个比较其他字符串,注意别越界就行代码classSolution{public:stringlongestCommonPrefix(vector<string>&strs){stringans="";intlen=strs[0].length();intn=strs.size();......
  • 最长连续序列
     给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例1:输入:nums=[100,4,200,1,3,2]输出:4解释:最长数字连续序列是[1,2,3,4]。它的长度为4。示例2:输入:nums......
  • 动态规划子序列问题系列一>最长数对链
    题目:  解析:  代码: publicintfindLongestChain(int[][]pairs){Arrays.sort(pairs,(a,b)->(a[0]-b[0]));intn=pairs.length;int[]dp=newint[n];for(inti=0;i<n;i++)dp[i]=1;intret=1;......
  • Java序列化
    Java序列化简单来说:序列化是将对象的状态信息转换为可以存储或传输的形式(如字节序列)的过程。在Java中,通过序列化可以把一个对象保存到文件、通过网络传输到其他地方或者存储到数据库等。最直接的原因就是某些场景下需要使用这种数据状态,像网络中不能传输数据,某些存储场景。......
  • B4X编程语言:B4A, B4i 字符序列生成器CSBuilder
            B4X为我们提供了一个功能强大的字符串操作工具CSBuilder对象(仅用于B4A、B4i)。        CSBuilder类似 StringBuilder。 但与构建字符串不同,CSBuilder是通过操作字符序列来操作字符串,因此它也叫字符序列生成器,它构建了包含样式信息的字符序列。......
  • 5. 最长回文子串
    题目链接解题思路:最长回文子串问题,首先要将原字符串扩充,比如abba,暴力是以每个字符s[i],左右两边扩,如果是abba,得不到最优解,扩充成#a#b#b#a#,就不会有问题,最优解是manacher算法。假设s[i]扩充的区域是[x,y],是目前便利到的,最远的距离,我们称i为回文中心C,y为回文最远右边界R,同时,......
  • 代码随想录算法训练营第四十六天|leetcode647. 回文子串、leetcode516.最长回文子序列
    1leetcode647.回文子串题目链接:647.回文子串-力扣(LeetCode)文章链接:代码随想录视频链接:动态规划,字符串性质决定了DP数组的定义|LeetCode:647.回文子串哔哩哔哩bilibili思路:嘿,看不懂有一点,看解析吧1.1视频后的方法其实看完视频以后,感觉这个题目真的不难,我想到了二维......
  • 代码随想录算法训练营第四十五天|leetcode115.不同的子序列、leetcode583. 两个字符串
    1leetcode115.不同的子序列题目链接:115.不同的子序列-力扣(LeetCode)文章链接:代码随想录视频链接:动态规划之子序列,为了编辑距离做铺垫|LeetCode:115.不同的子序列哔哩哔哩bilibili思路:确实看不懂题目,还是看解析吧1.1视频后的方法有一种我看了视频,也没有那么理解是为......