Element UI表格fixed列最后一行被挡?一个CSS属性轻松搞定(附代码)
2026/6/8 1:34:19
这两道题名字几乎一样,但DP 思想和难度完全不同。
下面我把它们放在一张笔记里,重点对比“连续 vs 不连续”。
| 题号 | 题目 | 是否连续 |
|---|---|---|
| 300 | 最长递增子序列 | ❌ 不要求连续 |
| 674 | 最长连续递增子序列 | ✅ 必须连续 |
给定一个整数数组nums,求最长递增子序列的长度。
✅ 动态规划
✅ 面试高频
✅ 对比强烈
dp[i]=以 nums[i]结尾的递增子序列长度| 题目 | 状态转移 |
|---|---|
| 300 | dp[i] = max(dp[j] + 1) , j < i && nums[i] > nums[j] |
| 674 | dp[i] = dp[i-1] + 1 , nums[i] > nums[i-1] |
✅300 要枚举所有前面的 j
✅674 只看前一个
classSolution{publicintlengthOfLIS(int[]nums){intlen=nums.length;int[]dp=newint[len];intres=1;for(inti=0;i<len;i++){dp[i]=1;for(intj=0;j<i;j++){if(nums[i]>nums[j]){dp[i]=Math.max(dp[i],dp[j]+1);}}res=Math.max(res,dp[i]);}returnres;}}| 指标 | 复杂度 |
|---|---|
| 时间复杂度 | O(n²) |
| 空间复杂度 | O(n) |
classSolution{publicintfindLengthOfLCIS(int[]nums){intlen=nums.length;int[]dp=newint[len];intres=1;dp[0]=1;for(inti=1;i<len;i++){if(nums[i]>nums[i-1]){dp[i]=dp[i-1]+1;}else{dp[i]=1;}res=Math.max(res,dp[i]);}returnres;}}| 指标 | 复杂度 |
|---|---|
| 时间复杂度 | O(n) |
| 空间复杂度 | O(n) |
| 对比项 | 300 | 674 |
|---|---|---|
| 是否连续 | ❌ | ✅ |
| 状态依赖 | 所有前面状态 | 仅前一个 |
| 时间复杂度 | O(n²) | O(n) |
| 难度 | 中等 | 简单 |
300 是“选或不选”的 DP,674 是“接或不接”的 DP。