发布时间:2026/8/20 11:48:22
Kimi    LeetCode LCP 14. 切分数组 Java实现 以下是 LeetCode LCP 14. 切分数组 的 Java 实现基于 质因数分解 动态规划 的经典解法。解题思路1. 预处理最小质因数用线性筛预处理出 110⁶ 每个数的最小质因数 minPrime[i]方便后续快速分解质因数2. 动态规划dp[i] 表示前 i 个数即 nums[0..i-1]能切分的最少数组个数3. 关键优化对每个质因数 p维护 pFlag[p] 表示以质因数 p 为桥梁连接时前序状态的最小值状态转移- 每个新数 nums[i] 要么单独成组dp[i1] dp[i] 1- 要么与前面某个有相同质因数的数组成一组找到前面有相同质因数的位置 j则 dp[i1] dp[j] 1javaclass Solution {// 预处理最小质因数线性筛private static final int MAX 1000000;private static int[] minPrime new int[MAX 1];private static boolean initialized false;private static void init() {if (initialized) return;// minPrime[i] 表示 i 的最小质因数for (int i 2; i MAX; i) {if (minPrime[i] 0) {// i 是质数for (int j i; j MAX; j i) {if (minPrime[j] 0) {minPrime[j] i;}}}}initialized true;}public int splitArray(int[] nums) {init();int n nums.length;// dp[i] 表示前 i 个数nums[0..i-1]能切分的最少数组个数int[] dp new int[n 1];// pFlag[p] 表示以质因数 p 为桥梁时前序状态的最小值// 初始化为一个较大值int[] pFlag new int[MAX 1];for (int i 0; i MAX; i) {pFlag[i] n; // 初始化为 n最大可能值}dp[0] 0; // 0个数需要0个子数组for (int i 1; i n; i) {int x nums[i - 1];// 默认情况当前数单独成一组dp[i] dp[i - 1] 1;// 分解 nums[i-1] 的所有质因数int temp x;while (temp 1) {int p minPrime[temp];// 找到之前出现过质因数 p 的位置// pFlag[p] 记录的是 dp[j] 的最小值其中 j 是前面某个以 p 为质因数的数的位置dp[i] Math.min(dp[i], pFlag[p] 1);// 更新 pFlag[p]当前位置 i-1 之前的状态 dp[i-1]// 注意这里存的是 dp[i-1]因为如果从 i 位置开始新的一组前面是 [0, i-2]pFlag[p] Math.min(pFlag[p], dp[i - 1]);// 去掉所有 p 因子while (temp % p 0) {temp / p;}}}return dp[n];}}关键点说明步骤 说明线性筛预处理 预处理 110⁶ 的最小质因数时间 O(MAX log log MAX)空间 O(MAX)质因数分解 利用 minPrime 数组每次除以最小质因数快速分解pFlag 数组 对每个质因数 p记录以 p 为桥梁时前序状态的最小 dp 值状态转移 dp[i] min(dp[i-1]1, min(pFlag[p]1))其中 p 是 nums[i-1] 的所有质因数复杂度分析- 时间复杂度O(MAX log log MAX n × log(nums[i]))其中 MAX 10⁶- 线性筛预处理O(MAX log log MAX)- 每个数分解质因数O(log nums[i])- 空间复杂度O(MAX n)主要是 minPrime 和 pFlag 数组示例验证输入: nums [2,3,3,2,3,3]输出: 2解释:- nums[0]2, 质因数2, pFlag[2]0, dp[1]1- nums[1]3, 质因数3, pFlag[3]1, dp[2]2- nums[2]3, 质因数3, pFlag[3]min(1,2)1, dp[3]min(3, pFlag[3]12)2- nums[3]2, 质因数2, pFlag[2]min(0,2)0, dp[4]min(3, pFlag[2]11)1- nums[4]3, 质因数3, pFlag[3]min(1,1)1, dp[5]min(2, pFlag[3]12)2- nums[5]3, 质因数3, pFlag[3]min(1,2)1, dp[6]min(3, pFlag[3]12)2最终 dp[6] 2对应 [2,3,3,2] 和 [3,3]

相关新闻

2026/8/20 11:48:22

2026新版Dify实战:从零部署到20+AI应用工作流搭建

最近在尝试将大模型能力集成到业务系统时,你是否也遇到过这样的困境:调用API接口虽然简单,但想实现一个包含条件判断、多模型调用、知识库检索的复杂AI应用,就需要写大量的胶水代码,调试起来更是让人头疼。Dify的出现&…

2026/8/20 11:48:22

Windows环境容器化:用Docker管理开发环境依赖冲突

最近在整理本地开发环境时,我遇到了一个典型的“环境污染”问题:一个项目依赖特定版本的 .NET Framework,另一个项目需要 Python 3.11,而第三个项目又要求某个老旧的 Java 8 环境。在 Windows 上,这种依赖冲突和版本管…

2026/8/20 11:48:22

云服务配额异常排查:升级后速率限制未生效的实战指南

这次我们来看一个在开发者社区中引发讨论的技术问题:“Max 20x upgrade not reflected in weekly limits, depleting at Max 5x rate”。这并非一个具体的开源项目,而是一个典型的云服务或API配额管理异常现象。简单来说,用户购买了号称“20倍…

2026/8/20 13:03:33

自动驾驶事故责任划分:从数据溯源到算法决策的挑战与框架

1. 从“科幻”到“现实”:当自动驾驶事故不再是假设 几年前,我们讨论自动驾驶汽车相撞的责任划分,还像是在探讨一个科幻电影里的伦理难题。但今天,随着搭载L2甚至L3级别辅助/自动驾驶功能的车辆越来越多地驶上街头,这个…

2026/8/20 12:58:32

C语言——⾃定义类型:结构体

耕耘 :C、C、嵌入式技术领域 🔥我的个人主页 ❄️个人专栏:《C语言专栏》 《嵌入式专栏》 ✨**不要等待机会,而要创造机会!**✨ 📽博主简介: ✨✨✨一位热爱生活的阳光大男孩.✨✨✨ 前言 本文系统梳理了C语言中**…

2026/8/20 10:17:13

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/19 15:09:57

工业传感器与变送器详解:序章 从物理世界到工业数据

序章 从物理世界到工业数据 ——重新认识工业传感器与变送器 工业自动化系统正变得日益复杂。今天的工业现场早已不是简单的控制回路,而是由多层技术共同构成的立体体系:PLC、DCS、SCADA、MES、工业互联网、边缘计算与人工智能。控制系统可以执行复杂算法,工业网络可以实现…

2026/8/20 0:01:41

Cline、Hermes、OpenClaw 都能连:HTTP 型 MCP 客户端全适配

后台被问得最多的一类问题是:“我用的是 Cline / Hermes / OpenClaw,能连察元的 WPS 文档服务吗?” 统一回答:能。而且这个"都能连"值得单独写一篇——不是我们挨个给每个客户端做了适配,而是所有这些客户端…

2026/8/20 0:01:41

46 个文档工具一次看懂:察元AI文档助手 MCP 工具目录速览

把察元AI文档助手接进 Claude Code 之后,我建议的第一件事不是急着下提示词,而是把它的 MCP 工具目录过一遍——46 个工具(MCP 目录版本 0.10.0),乍看吓人,其实按"一份文档的生命周期"分组之后非…

2026/8/20 8:35:23

实测才敢推 AI论文网站 2026最新测评与推荐

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

2026/8/20 9:15:29

2026必备!AI论文网站测评:最新推荐与深度对比

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

2026/8/19 16:39:34

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…