请实现一个函数,返回数组 nums1 和 nums2 中两个长度相同的非空子序列的最大点积和,以及对应的两个子序列本身。示例:nums1=[2,1,-2,5],nums2=[3,0,-6],最大点积和为 18,对应子序列 [2,1,-2,5] 和 [3,-6] 长度均为 2?请确认示例并说明算法。
考察说明
考察动态规划设计与序列选择策略
回答思路
- 明确子序列定义和点积计算方式
- 设计 DP 状态表示长度相同的非空子序列
- 正确推导状态转移方程
- 能够构造出具体子序列而非仅求最大值
- 给出时间与空间复杂度分析