【发布时间】:2021-10-23 12:33:53
【问题描述】:
我有一个递归函数。我需要记住它,但找不到方法。 请告诉我路。
代码如下:
int ans = Integer.MAX_VALUE;
void solve(int[] arr, int idx, int sum) {
if(idx == arr.length) {
if(sum >= 0)
ans = Math.min(ans, sum);
//t[idx] = Math.min(t[idx], su);
//System.out.println("ans = " + ans);
return;
}
//if(t[idx] != 0) return t[idx];
int sum1 = sum, sum2 = sum;
sum1 += arr[idx];
sum2 += -arr[idx];
solve(arr, idx + 1, sum1);
solve(arr, idx + 1, sum2);
//return t[idx];
}
提前感谢 DP 中的菜鸟。
【问题讨论】:
标签: recursion dynamic-programming memoization