parent
22ac5d4754
commit
ddaba36a12
|
|
@ -257,13 +257,14 @@ function maxUncrossedLines(nums1: number[], nums2: number[]): number {
|
||||||
let prev: number = 0;
|
let prev: number = 0;
|
||||||
let temp: number = 0;
|
let temp: number = 0;
|
||||||
for (let j = 1; j <= len2; j++) {
|
for (let j = 1; j <= len2; j++) {
|
||||||
// 保存当前状态未计算前的值
|
// 备份一下当前状态(经过上层迭代后的)
|
||||||
temp = dp[j]
|
temp = dp[j]
|
||||||
// 使用没有累加的值进行累加
|
// prev 相当于 dp[j-1](累加了上层的状态)
|
||||||
|
// 如果单纯 dp[j-1] 则不会包含上层状态
|
||||||
if (nums1[i - 1] === nums2[j - 1]) dp[j] = prev + 1
|
if (nums1[i - 1] === nums2[j - 1]) dp[j] = prev + 1
|
||||||
// dp[j] 表示之前的 dp[i][j-1],dp[j-1] 表示 dp[i-1][j]
|
// dp[j] 表示之前的 dp[i][j-1],dp[j-1] 表示 dp[i-1][j]
|
||||||
else dp[j] = Math.max(dp[j], dp[j - 1])
|
else dp[j] = Math.max(dp[j], dp[j - 1])
|
||||||
// 下一个元素使用前一个状态未计算的值
|
// 继续使用上一层状态更新参数用于当前层下一个状态
|
||||||
prev = temp
|
prev = temp
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue