add: 1035.不相交线新增typescript滚动数组写法

This commit is contained in:
xin
2023-10-28 18:29:48 +08:00
parent ba8415e3f4
commit 1eb14f9fe2

View File

@ -221,6 +221,8 @@ const maxUncrossedLines = (nums1, nums2) => {
### TypeScript
> 二维数组
```typescript
function maxUncrossedLines(nums1: number[], nums2: number[]): number {
/**
@ -243,6 +245,33 @@ function maxUncrossedLines(nums1: number[], nums2: number[]): number {
};
```
> 滚动数组
```typescript
function maxUncrossedLines(nums1: number[], nums2: number[]): number {
const len1 = nums1.length
const len2 = nums2.length
const dp: number[] = new Array(len2 + 1).fill(0)
for (let i = 1; i <= len1; i++) {
let prev: number = 0;
let temp: number = 0;
for (let j = 1; j <= len2; j++) {
// 保存当前状态未计算前的值
temp = dp[j]
// 使用没有累加的值进行累加
if (nums1[i - 1] === nums2[j - 1]) dp[j] = prev + 1
// dp[j] 表示之前的 dp[i][j-1]dp[j-1] 表示 dp[i-1][j]
else dp[j] = Math.max(dp[j], dp[j - 1])
// 下一个元素使用前一个状态未计算的值
prev = temp
}
}
return dp[len2]
}
```
<p align="center">
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>