尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Kimi LeetCode 3743. 循环划分的最大得分 Python3实现

Kimi    LeetCode 3743. 循环划分的最大得分 Python3实现
📅 发布时间:2026/7/28 2:12:58

LeetCode 3743. 循环划分的最大得分 — Python3 实现

核心思路

这道题的关键在于将子数组范围问题转化为股票交易问题:

- 子数组的范围 = `max - min`
- 按顺序遍历一个子数组时,相当于一次"交易":在最小值处"买入",在最大值处"卖出"
- 因此问题等价于:在循环数组中最多进行 k 次交易,每次收益为价格差的绝对值,求最大总收益

循环数组的处理

循环数组需要在某处"断开"成线性数组。最优策略是:在全局最小值处断开,因为最小值天然适合作为子数组的边界(它只可能是某个子数组的起点或终点,不会夹在中间浪费得分)。

分别尝试从最小值位置和最小值后一个位置开始线性化,取最大值。

代码实现

```python
class Solution:
def maximumScore(self, nums: list[int], k: int) -> int:
n = len(nums)

def solve(base: int) -> int:
"""
将循环数组从 base 位置开始线性化,DP求解最多k次交易的最大收益。
"""
dp = [0] * (n + 1) # dp[j]: 前j个元素的最大得分
result = 0

for _ in range(k):
# x = max(dp[j] - nums[idx]): 最优"最小值起点"
# y = max(dp[j] + nums[idx]): 最优"最大值起点"
x, y = float("-inf"), float("-inf")
new_dp = [float("-inf")] * (n + 1)

for j in range(n):
idx = (base + j) % n

x = max(x, dp[j] - nums[idx])
y = max(y, dp[j] + nums[idx])

# 三种选择:
# 1. 不在j结束子数组 → new_dp[j]
# 2. 以nums[idx]为最大值结束 → x + nums[idx]
# 3. 以nums[idx]为最小值结束 → y - nums[idx]
new_dp[j + 1] = max(new_dp[j], x + nums[idx], y - nums[idx])

dp = new_dp
result = max(result, dp[-1])

return result

# 在全局最小值处断开循环数组
min_idx = min(range(n), key=lambda i: nums[i])
return max(solve(min_idx), solve(min_idx + 1))
```

复杂度分析

项目 复杂度
时间 O(n × k)
空间 O(n)(可优化至 O(k))

验证结果

输入 输出 说明
`nums=[1,2,3,3], k=2` 3 `[2,3]` 范围=1, `[3,1]` 范围=2
`nums=[1,2,3,3], k=1` 2 整个数组范围=3-1=2
`nums=[1,2,3,3], k=4` 3 可少于k个子数组
`nums=[1,5,1,5], k=2` 8 `[1,5]`×2,各得4分

下载完整代码:[leetcode_3743.py](sandbox:///mnt/agents/output/leetcode_3743.py)

相关新闻

  • SpringBoot+Vue3+MyBatis选课系统架构与优化实践
  • 拓竹A1C 3D打印机:工科生高速打印入门指南与项目实践
  • 数学建模优化水系电解液配方的核心方法与工程实践

最新新闻

  • 指标数据仪表盘系统有哪些?2026年五大对比 - 科技焦点
  • 2026年 水性环氧底漆厂家:专业防腐防锈与附着力强的供应商选择 - 卓企推荐
  • C语言字符统计:从基础实现到高级应用全解析
  • OPC UA工业数据采集:第一天盈利的轻量级解决方案
  • 管理是应对复杂性,它负责建立秩序和确定性;而领导力则是应对变革,它负责在巨大的不确定性中激发出团队打破现状的内源性动力。
  • 怎么用AI写小说?从零开始,新手也能写出百万字长篇的完整步骤

日新闻

  • 力旷智能:伺服驱动系统在制药收瓶设备中的应用解析
  • 2026 网安入门避坑指南,零基础如何避开无效学习直接上手实战
  • 揭秘CFC项目:如何通过手机摄像头实现850kbps无网络文件传输

周新闻

  • 大连理工大学与东京大学联手打造的“主动型AI助手“
  • 170.2026年国家级科研瓶颈:超精密单点金刚石切削(SPDT)光学表面生成
  • SongBloom:革命性歌曲生成框架深度解析——如何通过交织自回归与扩散模型创作完整音乐

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号