请用动态规划求解最长上升子序列的长度,并说明复杂度。
考察说明
考察动态规划建模、递推关系推导与复杂度分析
回答思路
- 正确给出状态定义 dp[i] 表示以第 i 个元素结尾的最长上升子序列长度
- 正确推导转移方程:dp[i] = max(dp[j]+1) 对所有 j<i 且 nums[j]<nums[i],初始 dp[i]=1
- 分析时间复杂度 O(n^2)、空间复杂度 O(n),并能提及贪心+二分 O(n log n) 优化思路
- 给出正确的最终答案或代码逻辑,边界如空数组处理正确
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。