前言
###我做这类文章一个重要的目的还是记录自己的学习过程,我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴!!!
习题
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];}
}
后言
上面是动态规划相关的习题,共勉