您现在的位置是:首页 >技术教程 >力扣动态规划-24【算法学习day.118】网站首页技术教程

力扣动态规划-24【算法学习day.118】

南宫生 2025-03-25 00:01:02
简介力扣动态规划-24【算法学习day.118】

前言

###我做这类文章一个重要的目的还是记录自己的学习过程,我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴!!!


习题

1.和为目标值的最长子序列的长度

题目链接:2915. 和为目标值的最长子序列的长度 - 力扣(LeetCode)

题面:

附上大佬代码: 

class Solution {
    public int lengthOfLongestSubsequence(List<Integer> nums, int target) {
        int n = nums.size();
        int[][] dp = new int[n + 1][target + 1];
        Arrays.fill(dp[0], -1);
        dp[0][0] = 0;
        for (int i = 1; i <= n; i++) {
            System.arraycopy(dp[i - 1], 0, dp[i], 0, target + 1);
            int num = nums.get(i - 1);
            for (int j = num; j <= target; j++) {
                if (dp[i - 1][j - num] < 0) {
                    continue;
                }
                dp[i][j] = Math.max(dp[i][j], dp[i - 1][j - num] + 1);
            }
        }
        return dp[n][target];
    }
}
 

后言

上面是动态规划相关的习题,共勉

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。