mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 00:43:04 +08:00
add: 1035.不相交线新增typescript滚动数组写法
This commit is contained in:
@ -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"/>
|
||||
|
Reference in New Issue
Block a user