mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-07 15:45:40 +08:00
Merge pull request #1355 from xiaofei-2020/dp43
添加(0718.最长重复子数组.md):增加typescript版本
This commit is contained in:
@ -297,6 +297,56 @@ const findLength = (nums1, nums2) => {
|
||||
}
|
||||
```
|
||||
|
||||
TypeScript:
|
||||
|
||||
> 动态规划:
|
||||
|
||||
```typescript
|
||||
function findLength(nums1: number[], nums2: number[]): number {
|
||||
/**
|
||||
dp[i][j]:nums[i-1]和nums[j-1]结尾,最长重复子数组的长度
|
||||
*/
|
||||
const length1: number = nums1.length,
|
||||
length2: number = nums2.length;
|
||||
const dp: number[][] = new Array(length1 + 1).fill(0)
|
||||
.map(_ => new Array(length2 + 1).fill(0));
|
||||
let resMax: number = 0;
|
||||
for (let i = 1; i <= length1; i++) {
|
||||
for (let j = 1; j <= length2; j++) {
|
||||
if (nums1[i - 1] === nums2[j - 1]) {
|
||||
dp[i][j] = dp[i - 1][j - 1] + 1;
|
||||
resMax = Math.max(resMax, dp[i][j]);
|
||||
}
|
||||
}
|
||||
}
|
||||
return resMax;
|
||||
};
|
||||
```
|
||||
|
||||
> 滚动数组:
|
||||
|
||||
```typescript
|
||||
function findLength(nums1: number[], nums2: number[]): number {
|
||||
const length1: number = nums1.length,
|
||||
length2: number = nums2.length;
|
||||
const dp: number[] = new Array(length1 + 1).fill(0);
|
||||
let resMax: number = 0;
|
||||
for (let i = 1; i <= length1; i++) {
|
||||
for (let j = length2; j >= 1; j--) {
|
||||
if (nums1[i - 1] === nums2[j - 1]) {
|
||||
dp[j] = dp[j - 1] + 1;
|
||||
resMax = Math.max(resMax, dp[j]);
|
||||
} else {
|
||||
dp[j] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
return resMax;
|
||||
};
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
-----------------------
|
||||
<div align="center"><img src=https://code-thinking.cdn.bcebos.com/pics/01二维码一.jpg width=500> </img></div>
|
||||
|
Reference in New Issue
Block a user