腾讯面试题更新 2026-08-05

给定一个整数数组 prices,其中 prices[i] 表示第 i 天的股票价格。你最多可以完成 k 笔交易(买入一次并卖出一次算一笔交易),且必须卖出后再买入。请设计算法计算你能获得的最大利润。

腾讯人工智能互联网/IT编码实现问题拆解技术原理

考察说明

考察动态规划状态设计、交易次数限制与状态转移的正确性

回答思路

  1. 正确定义状态 dp[i][j][0/1] 分别表示第 i 天、已完成 j 笔交易、是否持有股票的最大利润
  2. 能推导并正确实现买入卖出造成的交易次数变化
  3. 能处理 k 过大时退化为不限次数交易的情况
  4. 能给出 O(n*k) 时间与 O(k) 或 O(n*k) 空间的复杂度分析
本题已收录答题指导

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

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