mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 02:53:31 +08:00
add js solution for lengthOfLIS
This commit is contained in:
@ -170,6 +170,25 @@ func lengthOfLIS(nums []int ) int {
|
|||||||
return len(dp)
|
return len(dp)
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Javascript
|
||||||
|
```javascript
|
||||||
|
const lengthOfLIS = (nums) => {
|
||||||
|
let dp = Array(nums.length).fill(1);
|
||||||
|
let result = 1;
|
||||||
|
|
||||||
|
for(let i = 1; i < nums.length; i++) {
|
||||||
|
for(let j = 0; j < i; j++) {
|
||||||
|
if(nums[i] > nums[j]) {
|
||||||
|
dp[i] = Math.max(dp[i], dp[j]+1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
result = Math.max(result, dp[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
};
|
||||||
|
```
|
||||||
*复杂度分析*
|
*复杂度分析*
|
||||||
- 时间复杂度:O(nlogn)。数组 nums 的长度为 n,我们依次用数组中的元素去更新 dp 数组,相当于插入最后递增的元素,而更新 dp 数组时需要进行 O(logn) 的二分搜索,所以总时间复杂度为 O(nlogn)。
|
- 时间复杂度:O(nlogn)。数组 nums 的长度为 n,我们依次用数组中的元素去更新 dp 数组,相当于插入最后递增的元素,而更新 dp 数组时需要进行 O(logn) 的二分搜索,所以总时间复杂度为 O(nlogn)。
|
||||||
- 空间复杂度:O(n),需要额外使用长度为 n 的 dp 数组。
|
- 空间复杂度:O(n),需要额外使用长度为 n 的 dp 数组。
|
||||||
|
Reference in New Issue
Block a user