【发布时间】:2012-11-26 17:55:01
【问题描述】:
我为最长递增子序列提出了简单的以下递归解决方案。 但是,您能帮忙将记忆功能包含在这个递归解决方案中吗?
public int findLIS(int a[], int maxSoFar, int item, int count) {
if(item == a.length) {
return count;
}
int length1 = findLIS(a,maxSoFar, item+1, count);
int length2 = 0;
if(a[item] > maxSoFar) {
length2 = findLIS(a, a[item], item+1, count + 1);
}
return Math.max(length1, length2);
}
PS:这不是作业问题,这更符合我的兴趣。
【问题讨论】:
-
Java,但您可以轻松转换为您喜欢的语言。如果你愿意,我可以为你做
标签: algorithm dynamic-programming memoization