Kimi    LeetCode 3743. 循环划分的最大得分 Python3实现 LeetCode 3743. 循环划分的最大得分 — Python3 实现核心思路这道题的关键在于将子数组范围问题转化为股票交易问题- 子数组的范围 max - min- 按顺序遍历一个子数组时相当于一次交易在最小值处买入在最大值处卖出- 因此问题等价于在循环数组中最多进行 k 次交易每次收益为价格差的绝对值求最大总收益循环数组的处理循环数组需要在某处断开成线性数组。最优策略是在全局最小值处断开因为最小值天然适合作为子数组的边界它只可能是某个子数组的起点或终点不会夹在中间浪费得分。分别尝试从最小值位置和最小值后一个位置开始线性化取最大值。代码实现pythonclass 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 0for _ 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) % nx 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_dpresult max(result, dp[-1])return result# 在全局最小值处断开循环数组min_idx min(range(n), keylambda i: nums[i])return max(solve(min_idx), solve(min_idx 1))复杂度分析项目 复杂度时间 O(n × k)空间 O(n)可优化至 O(k)验证结果输入 输出 说明nums[1,2,3,3], k2 3 [2,3] 范围1, [3,1] 范围2nums[1,2,3,3], k1 2 整个数组范围3-12nums[1,2,3,3], k4 3 可少于k个子数组nums[1,5,1,5], k2 8 [1,5]×2各得4分下载完整代码[leetcode_3743.py](sandbox:///mnt/agents/output/leetcode_3743.py)

相关新闻

最新新闻

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现 【免费下载链接】serenity The Serenity Operating System 🐞 项目地址: https://gitcode.com/GitHub_Trending/se/serenity 导读 本文以 getopt(3) 手册 为核心&a…

2026/9/23 4:54:42
轻量服务器还是ECS?大促云服务器选购与避坑实战指南

轻量服务器还是ECS?大促云服务器选购与避坑实战指南

每年大促节点,群里永远有人在问同一个问题:“38元的轻量服务器到底怎么抢?为什么我每次点进去都是已售罄?68元直购和99元的ECS我到底选哪个?”作为一个常年帮团队和自己采购云服务器的老用户,我太清楚这种纠…

2026/9/21 18:32:39
为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南

为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南

为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南 【免费下载链接】agents Multi-harness agentic plugin marketplace for Claude Code, Codex, Cursor, OpenCode, GitHub Copilot, and Google Antigravity 项目地址:…

2026/9/21 18:31:24
PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署

PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署

PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署 【免费下载链接】PaddleOCR Turn any PDF or image document into structured data for your AI. A powerful, lightweight OCR toolkit that bridges the gap between i…

2026/9/21 18:31:34
Spring源码解析:构造器注入的类型转换与候选匹配机制

Spring源码解析:构造器注入的类型转换与候选匹配机制

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/21 18:31:25
openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由

openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由

openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由 【免费下载链接】openai-agents-python A lightweight, powerful framework for multi-agent workflows 项目地址: https://gitcode.com/GitHub_Trending/op/openai-agents-pyth…

2026/9/21 18:31:13

日新闻

周新闻