本文主要是介绍Leetcode 2915. Length of the Longest Subsequence That Sums to Target,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- Leetcode 2915. Length of the Longest Subsequence That Sums to Target
- 1. 解题思路
- 2. 代码实现
- 题目链接:2915. Length of the Longest Subsequence That Sums to Target
1. 解题思路
这一题其实就是一个动态规划的题目,本身没啥难的,只不过最开始用cache来偷懒的时候遇到了内存超标的情况,估摸着是leetcode终于开始修掉这个bug了,不过整体上也就那样了,重新用数组的方式对其进行一下调整就行了,问题不大……
2. 代码实现
给出python代码实现如下:
class Solution:def lengthOfLongestSubsequence(self, nums: List[int], target: int) -> int:nums = sorted(nums)n = len(nums)dp = [0] + [-1 for _ in range(target)]for num in nums:if num > target:continuefor i in range(target-num, -1, -1):if dp[i] >= 0:dp[i+num] = max(dp[i+num], 1 + dp[i])return dp[target]
提交代码评测得到:耗时2171ms,占用内存16.4MB。
这篇关于Leetcode 2915. Length of the Longest Subsequence That Sums to Target的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!