mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 19:44:45 +08:00
add: 1035.不相交线新增typescript滚动数组写法
This commit is contained in:
@ -221,6 +221,8 @@ const maxUncrossedLines = (nums1, nums2) => {
|
|||||||
|
|
||||||
### TypeScript:
|
### TypeScript:
|
||||||
|
|
||||||
|
> 二维数组
|
||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
function maxUncrossedLines(nums1: number[], nums2: number[]): number {
|
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">
|
<p align="center">
|
||||||
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
|
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
|
||||||
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
|
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
|
||||||
|
Reference in New Issue
Block a user