后端岗位面试题更新 2026-08-05

给定一个整数数组 nums,求最长严格递增子序列的长度。请用动态规划或二分法回答。

青书后端开发教育/培训编码实现问题拆解

考察说明

考察经典 LIS 问题的动态规划解法、时间复杂度分析及二分优化

回答思路

  1. 定义 dp[i] 为以 nums[i] 结尾的最长递增子序列长度
  2. 状态转移:dp[i]=max(dp[j]+1) 其中 j<i 且 nums[j]<nums[i]
  3. 初始化为 1,最终结果为 max(dp)
  4. 时间复杂度 O(n^2),优化方法为贪心+二分 O(n log n)
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。