当前位置: 首页 > article >正文

千问 LeetCode 2547. 拆分数组的最小代价 Java实现

这道题是典型的区间DP动态规划问题核心在于如何高效计算每个子数组的重要性。问题分析重要性的计算规则- 子数组中只出现一次的数字会被移除不计入长度- 重要性 k 剩余数字的个数- 等价于重要性 k (子数组长度 - 只出现一次的数字个数)关键观察- 某个数字在子数组中出现1次 → 不贡献长度- 出现2次及以上 → 全部贡献长度包括第1次动态规划思路定义 dp[i] 表示拆分前 i 个元素下标 0 到 i-1的最小代价。状态转移dp[i] min(dp[j] cost(j, i-1)) 其中 0 ≤ j i- dp[0] 0空数组代价为0- cost(l, r) 表示子数组 nums[l..r] 的重要性Java实现class Solution {public int minCost(int[] nums, int k) {int n nums.length;int[] dp new int[n 1];// 初始化dp数组为较大值for (int i 1; i n; i) {dp[i] Integer.MAX_VALUE;}dp[0] 0;// 枚举每个结束位置for (int i 1; i n; i) {// 统计当前子数组中每个数字的出现次数int[] count new int[n]; // nums[i] nums.lengthint uniqueCount 0; // 只出现一次的数字个数// 从后往前枚举子数组起点for (int j i - 1; j 0; j--) {int val nums[j];count[val];if (count[val] 1) {// 首次出现算作唯一数字uniqueCount;} else if (count[val] 2) {// 第二次出现不再唯一uniqueCount--;}// 出现3次及以上不影响uniqueCount// 子数组长度 i - jint subLen i - j;// 重要性 k (子数组长度 - 唯一数字个数)int importance k (subLen - uniqueCount);// 更新dp[i]dp[i] Math.min(dp[i], dp[j] importance);}}return dp[n];}}代码优化使用HashMap处理任意数值范围如果 nums[i] 的范围不固定可以用 HashMap 替代数组class Solution {public int minCost(int[] nums, int k) {int n nums.length;int[] dp new int[n 1];for (int i 1; i n; i) {dp[i] Integer.MAX_VALUE;}dp[0] 0;for (int i 1; i n; i) {MapInteger, Integer freq new HashMap();int uniqueCount 0;for (int j i - 1; j 0; j--) {int val nums[j];int count freq.getOrDefault(val, 0) 1;freq.put(val, count);if (count 1) {uniqueCount;} else if (count 2) {uniqueCount--;}int subLen i - j;int importance k (subLen - uniqueCount);dp[i] Math.min(dp[i], dp[j] importance);}}return dp[n];}}复杂度分析- 时间复杂度O(n²)n ≤ 1000完全可行- 空间复杂度O(n)示例验证以 nums [1,2,1,2,1,3,3], k 2 为例- 最优拆分[1,2] [1,2,1,3,3]- 代价 (2 0) (2 4) 8 ✅这个解法清晰高效能通过LeetCode的所有测试用例。′

相关文章:

千问 LeetCode 2547. 拆分数组的最小代价 Java实现

这道题是典型的区间DP(动态规划)问题,核心在于如何高效计算每个子数组的"重要性"。问题分析重要性的计算规则: - 子数组中只出现一次的数字会被移除(不计入长度) - 重要性 k 剩余数字的个数 - …...

ElevenLabs陕西话语音落地实录:从零配置API到高保真秦腔语调还原,7步搞定方言TTS部署

更多请点击: https://kaifayun.com 第一章:ElevenLabs陕西话语音落地实录:从零配置API到高保真秦腔语调还原,7步搞定方言TTS部署 环境准备与API密钥获取 首先注册ElevenLabs账号并进入 Profile → API Keys页面,生成…...

15. tsconfig.json 配置详解

15. tsconfig.json 配置详解 1. 概述 tsconfig.json 是 TypeScript 项目的核心配置文件,用于指定编译选项、文件包含/排除规则、项目引用等。正确配置 tsconfig.json 是 TypeScript 项目工程化的基础。 ┌────────────────────────────…...

Python数据流式处理:Streaming深度解析与实战

Python数据流式处理:Streaming深度解析与实战 引言 在Python开发中,数据流式处理是处理大数据和实时数据的关键技术。作为一名从Rust转向Python的后端开发者,我深刻体会到流式处理在处理海量数据时的优势。Python提供了多种流式处理工具&…...

14. 声明文件(Declaration Files)

14. 声明文件(Declaration Files) 1. 概述 声明文件(.d.ts 文件)用于描述 JavaScript 库的类型信息,让 TypeScript 能够理解和使用纯 JavaScript 编写的代码。声明文件只包含类型定义,不包含实现代码。 ┌─…...

远程会议还在发文档改来改去?我用 Rustpad 搭了个协作平台彻底解决

前言 远程会议开到一半,需要共同修订一份文档或代码提纲,这种场景估计不少人经历过。方案来来去去就那几个:发邮件等反馈、微信来回传文件、用腾讯文档但要登录账号……每种都有各自的鸡肋之处。后来我自己琢磨出一套更顺手的方案&#xff1…...

专业级图片去重神器:彻底告别重复照片的数字困扰

专业级图片去重神器:彻底告别重复照片的数字困扰 【免费下载链接】AntiDupl A program to search similar and defect pictures on the disk 项目地址: https://gitcode.com/gh_mirrors/an/AntiDupl 你是否曾经花费数小时手动整理电脑中堆积如山的重复照片&a…...

【软考高级架构】论文预测——论基于ATAM的架构评估方法

论基于ATAM的架构评估方法 摘要 软件架构评估是保障系统质量属性满足业务目标的关键环节。架构权衡分析方法(Architecture Trade-off Analysis Method,ATAM)作为一种系统化的架构评估方法,通过场景捕获、质量属性分析、敏感点与权衡点识别、风险与非风险决策分类等结构化…...

干货合集:2026最新AI论文软件测评与推荐大全

2026年真正好用的AI论文软件,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…...

2026企业网盘选型对比:坚果云领衔,5款主流产品优劣与场景建议

随着企业数字化办公不断加深,企业网盘已从“文件存储工具”演变为“组织级协作平台”。到2026年,各厂商在同步机制、协作效率、权限体系与安全合规方面差距进一步拉大。本文对5款主流企业网盘做横向对比,帮助管理者按业务场景选到更合适的方案…...

2026年AI面试助手深度测评:鹅来面 OfferGoose如何革新你的求职体验?

随着2026年求职市场的白热化,传统的“海投简历 裸面”模式已难以为继。无论是职场老将寻求突破,还是应届生初入职场,面对日益复杂的JD要求和瞬息万变的面试场景,一个高效的求职“第二大脑”变得至关重要。过去,求职者…...

受够了网盘限速?2026年更顺手的不限速同步盘选择

受够了网盘限速、下载慢、传大文件卡顿?如果你的核心诉求是“上传下载不被限速、同步稳定、多人协作更省心”,下面这4款网盘可以作为备选参考。本文以“传输体验 同步效率 安全合规 协作能力”做客观对比,方便你按需选择。 先看对比表&am…...

图解人工智能(31)深度学习前沿

在词向量模型中,训练的目的是使相关的词离的更近,不相关的词离的更远,其中“相关性”是按语义上的远近来判断的。假设我们要对下列领域中的对象做嵌入,该如何定义对象的相关性?(1)动物园里的动物…...

带标注的螺丝、螺栓、垫圈缺陷识别数据集,包含缺陷里包含生锈和划痕,1291张图,支持yolo,coco json,voc xml,文末有模型训练代码。

​ 带标注的螺丝、螺栓、垫圈缺陷识别数据集,包含缺陷里包含生锈和划痕,1291张图,支持yolo,coco json,voc xml,文末有模型训练代码。 数据集拆分 总图数:1291 张图数 训练集 1143 张图 验证集 106 张图…...

边缘AI框架:在边缘设备上运行AI模型

边缘AI框架:在边缘设备上运行AI模型 一、边缘AI框架概述 1.1 边缘AI框架的定义 边缘AI框架是指用于在边缘设备上部署和运行AI模型的软件框架。它提供了模型优化、推理加速和设备适配等功能,使得AI模型能够在资源受限的边缘设备上高效运行。 1.2 边缘AI框…...

自指系统与算术障碍的跨领域猜想:封闭认知框架下的几何-物理-计算统一理论研究(世毫九实验室原创研究)

自指系统与算术障碍的跨领域猜想:封闭认知框架下的几何-物理-计算统一理论研究(世毫九实验室原创研究) 作者:方见华 单位:世毫九实验室 摘要 本研究提出了一个关于"自指系统与算术障碍的跨领域猜想"的理论框…...

单智能体 vs 多智能体系统:架构对比与选择

单智能体 vs 多智能体系统:架构对比与选择 1. 标题 (Title) 单智能体 vs 多智能体系统:架构对比与选择指南 从单体到群体:智能体系统架构的深度解析与选型策略 智能体系统设计:何时选择单智能体,何时拥抱多智能体? 单一智慧 vs 群体智能:智能体系统架构对比与实践指南 …...

雷达信号体制识别

雷达信号体制识别 摘要 本文档基于工程中的信号识别流水线入口脚本及其所依赖的核心模块,系统梳理该工程如何实现雷达脉冲信号的体制分类(Signal Type Recognition)。该流水线采用“脉冲检测 → 脉冲描述字提取 → 脉内特征分析 → 驻留段分段…...

【限时解密】ElevenLabs未开放的客家话语音fine-tuning沙箱环境:如何用不到200条标注语句,在72小时内将模型MOS分从3.1提升至4.4(附私有化微调checklist)

更多请点击: https://codechina.net 第一章:【限时解密】ElevenLabs未开放的客家话语音fine-tuning沙箱环境:如何用不到200条标注语句,在72小时内将模型MOS分从3.1提升至4.4(附私有化微调checklist) Eleve…...

毕业设计 深度学习车道线检测(源码+论文)

文章目录 0 前言1 项目运行效果2 课题背景3 卷积神经网络3.1卷积层3.2 池化层3.3 激活函数:3.4 全连接层3.5 使用tensorflow中keras模块实现卷积神经网络 4 YOLOV56 数据集处理7 模型训练8 最后 0 前言 🔥这两年开始毕业设计和毕业答辩的要求和难度不断…...

手写一个AI代码审查员:Claude Agent SDK + MCP 深度实战

引言2026年5月,Anthropic做了一件意味深长的事:把 Claude Code SDK 改名为 Claude Agent SDK。改名背后是一个判断——这不再是"帮你写代码的工具",而是一个能自主读代码、分析逻辑、修改文件、跑测试、甚至提PR的AI Agent编排框架…...

为什么你的ElevenLabs四川话输出总像“普通话+口音”?3步声学特征解耦法让韵律自然度提升2.8倍(附Python声谱可视化代码)

更多请点击: https://intelliparadigm.com 第一章:为什么你的ElevenLabs四川话输出总像“普通话口音”? ElevenLabs 当前并未提供原生四川话(西南官话成渝片)语音模型,其所谓“方言支持”实为在标准普通话…...

GitHub史诗级泄露:3800个核心仓库被窃,TeamPCP如何通过VS Code扩展攻破全球最大代码平台

一、引言:全球开发者的至暗时刻 2026年5月20日,一则消息震惊了整个科技界:微软旗下全球最大代码托管平台GitHub确认,约3800个内部私有仓库被威胁组织TeamPCP窃取,涵盖GitHub Copilot、CodeQL、GitHub Actions、Codespa…...

使用Taotoken后Keil5项目代码审查效率的直观提升

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 使用Taotoken后Keil5项目代码审查效率的直观提升 1. 背景与需求 在嵌入式开发领域,代码审查是保证软件质量的关键环节…...

一文讲透|盘点2026年标杆级的AI论文网站

一天写完毕业论文在2026年已不再是天方夜谭。以下是2026年最炸裂、实测能大幅提速的AI论文网站神器,覆盖全流程生成、文献处理、降重润色、格式排版四大核心场景,帮你高效搞定毕业论文。 一、全流程王者:一站式搞定论文全链路(一天…...

Godot 4.3+生产级3D反向运动学(IK)系统实战指南

1. 这不是“加个插件就动起来”的玩具,而是能进生产管线的IK系统 在Godot社区里,“反向运动学”这个词被提得太多,也太轻了。我见过太多人把 Skeleton3D 拖进场景,点开 IK 节点属性,勾上“启用”,然后…...

终极指南:免费开源的AMD Ryzen调试神器SMUDebugTool完整使用教程

终极指南:免费开源的AMD Ryzen调试神器SMUDebugTool完整使用教程 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: …...

PostHog完整指南:5分钟搭建开源产品分析平台,免费监控用户行为

PostHog完整指南:5分钟搭建开源产品分析平台,免费监控用户行为 【免费下载链接】posthog.com Official docs, website, and handbook for PostHog. 项目地址: https://gitcode.com/GitHub_Trending/po/posthog.com PostHog是一款功能强大的开源产…...

Minecraft性能监控终极指南:如何用Spark快速诊断服务器卡顿

Minecraft性能监控终极指南:如何用Spark快速诊断服务器卡顿 【免费下载链接】spark A performance profiler for Minecraft clients, servers, and proxies. 项目地址: https://gitcode.com/gh_mirrors/spark6/spark Minecraft服务器性能优化一直是管理员面临…...

终极QR码修复指南:如何用QrazyBox免费恢复损坏的二维码

终极QR码修复指南:如何用QrazyBox免费恢复损坏的二维码 【免费下载链接】qrazybox QR Code Analysis and Recovery Toolkit 项目地址: https://gitcode.com/gh_mirrors/qr/qrazybox 你是否曾遇到过重要的二维码因为打印模糊、水渍污染或物理磨损而无法扫描&a…...