We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent b64df0f commit f7bfc05Copy full SHA for f7bfc05
problems/0300.最长上升子序列.md
@@ -170,6 +170,25 @@ func lengthOfLIS(nums []int ) int {
170
return len(dp)
171
}
172
```
173
+
174
+Javascript
175
+```javascript
176
+const lengthOfLIS = (nums) => {
177
+ let dp = Array(nums.length).fill(1);
178
+ let result = 1;
179
180
+ for(let i = 1; i < nums.length; i++) {
181
+ for(let j = 0; j < i; j++) {
182
+ if(nums[i] > nums[j]) {
183
+ dp[i] = Math.max(dp[i], dp[j]+1);
184
+ }
185
186
+ result = Math.max(result, dp[i]);
187
188
189
+ return result;
190
+};
191
+```
192
*复杂度分析*
193
- 时间复杂度:O(nlogn)。数组 nums 的长度为 n,我们依次用数组中的元素去更新 dp 数组,相当于插入最后递增的元素,而更新 dp 数组时需要进行 O(logn) 的二分搜索,所以总时间复杂度为 O(nlogn)。
194
- 空间复杂度:O(n),需要额外使用长度为 n 的 dp 数组。
0 commit comments