DeepSeek LeetCode 3753. 范围内总波动值 II Java实现
📅 2026/7/28 0:23:49
👁️ 次浏览
题目理解波动值定义· 峰数位 严格大于 其两个相邻数位· 谷数位 严格小于 其两个相邻数位· 第一个和最后一个数位不能是峰或谷· 少于3位的数字波动值为0示例4848 中第二个数位 8 是峰第三个数位 4 是谷波动值 2。---核心思路前缀和 数位DP直接枚举区间每个数字会超时num 最大可达 10^15。核心技巧定义 f(n) [0, n] 范围内所有数字的波动值之和则区间 [num1, num2] 的答案 f(num2) - f(num1 - 1)这样只需实现计算 [0, n] 波动值之和的函数。---Java 实现数位DP 记忆化搜索javaclass Solution {private int[] digits;// dp[pos][pre2][pre][cnt][limit]// pre2/pre: 10 表示无前一位处理前导零private Long[][][][][] memo;public long totalWaviness(long num1, long num2) {return countUpTo(num2) - countUpTo(num1 - 1);}private long countUpTo(long n) {if (n 100) return 0; // 少于3位波动值均为0String s String.valueOf(n);digits new int[s.length()];for (int i 0; i s.length(); i) {digits[i] s.charAt(i) - 0;}// 维度: pos, pre2(0-10), pre(0-10), cnt(0-20), limit(0/1)memo new Long[digits.length][11][11][20][2];return dfs(0, 10, 10, 0, true, true);}/*** param pos 当前处理到的位置* param pre2 前两位的数字10表示不存在* param pre 前一位的数字10表示不存在* param cnt 已经累计的波动值* param limit 是否受上界 n 的限制* param lead 是否仍处于前导零状态*/private long dfs(int pos, int pre2, int pre, int cnt, boolean limit, boolean lead) {if (pos digits.length) {return cnt;}if (!limit memo[pos][pre2][pre][cnt][lead ? 1 : 0] ! null) {return memo[pos][pre2][pre][cnt][lead ? 1 : 0];}int maxDigit limit ? digits[pos] : 9;long res 0;for (int d 0; d maxDigit; d) {boolean newLimit limit (d maxDigit);boolean newLead lead (d 0);int newCnt cnt;// 只有当前不是前导零且前面已经有两个有效数字时才判断 pre 是否为峰/谷if (!newLead pre2 ! 10 pre ! 10) {if ((pre pre2 pre d) || (pre pre2 pre d)) {newCnt;}}int newPre2 newLead ? 10 : pre;int newPre newLead ? 10 : d;res dfs(pos 1, newPre2, newPre, newCnt, newLimit, newLead);}if (!limit) {memo[pos][pre2][pre][cnt][lead ? 1 : 0] res;}return res;}}---代码详解1. 状态设计· pre2前两位数字用于判断 pre 是否为峰/谷· pre前一位数字· 用 10 表示不存在因为数字范围是 0-92. 前导零处理· lead true 时当前及之前所有位都是前导零数字还未真正开始· 前导零不参与波动值计算3. 判断峰/谷当 pre2、pre、d 三个连续数位都存在时javaif ((pre pre2 pre d) || (pre pre2 pre d)) {newCnt;}4. 记忆化条件只有 !limit 时才能缓存因为 limittrue 时可选数字范围因 n 而异。---复杂度分析· 时间复杂度O(len * 11 * 11 * 20 * 2 * 10) ≈ O(len * 24200)len ≤ 16常数级· 空间复杂度O(len * 11 * 11 * 20 * 2)
时间过得真快,一晃眼2019年都过去好几年了。每次回头看,心里总有点五味杂陈。特别是对于属兔或者星座是双鱼的朋友来说。那年的感觉,就像是在雾里走路。明明看着前面有光,踩下去却是空的。我记得有个粉丝,咱们叫她小雅吧。她是做电商的,2019年上半年特别顺。那时候正好赶…
📅 2026/7/28 0:22:19
前言
前面我们用 HTTP 拉排行榜、上报得分——但应用关闭后本地数据全没了,下次开要重新拉。战绩历史、玩家昵称、皮肤解锁这种结构化持久数据要存本地数据库。HarmonyOS 提供 ohos.data.relationalStore(SQLite 封装)做关系型存储——建表、…
📅 2026/7/28 0:22:49
前言
在某些场景下,我们不希望用户通过返回键回到之前的页面——例如登录页跳转到主页、启动引导页跳转到首页、游戏结束后重新开始。HarmonyOS 提供了 router.replaceUrl 来替换当前页面,被替换的页面会从页面栈中移除,用户无法通过返回键回…
📅 2026/7/28 0:22:49
你是不是也遇到过这种情况:项目刚上线时,Redis缓存用得飞起,性能提升立竿见影。但随着用户量激增,你发现Redis集群的CPU和内存占用越来越高,响应延迟也开始波动,甚至偶尔出现缓存雪崩,半夜被报警…
📅 2026/7/28 1:25:00
你肯定见过那种老式的手摇卷烟机,或者至少听说过。它通常是一个小巧的金属盒子,靠手摇曲柄带动齿轮,把烟丝和烟纸卷成一支支香烟。对于喜欢自己动手的烟民来说,这曾经是一种乐趣,也是一种仪式感。但乐趣归乐趣,手摇的费力、速度不均、成品紧实度不一,这些“小问题”积累…
📅 2026/7/28 1:25:00
专业北京中关村珐恩AIGEO方案实战指南2026年,生成式引擎优化(GEO)已从概念炒作进入规模化落地阶段。中国信通院《人工智能发展白皮书》数据显示,超过68%的企业采购决策者会通过豆包、DeepSeek、Kimi等AI大模型获取供应商信息。然而…
📅 2026/7/28 1:25:00
🔥 AI Agent 面试题 568:如何实现多Agent系统的Agent健康监控?摘要:本文深入解析了「如何实现多Agent系统的Agent健康监控?」这一 AI Agent 领域的核心面试题。文章从 群体智能 的基本概念出发,系统性地剖析…
📅 2026/7/28 1:25:00
专业北京中关村珐恩AIGEO知识友好评估报告一、GEO赛道现状与珐恩AI的行业定位2026年,生成式引擎优化(Generative Engine Optimization,GEO)已成为企业数字营销核心赛道。中国信通院《人工智能发展白皮书》指出,90%中小…
📅 2026/7/28 1:25:00
CarbonData Segment 机制全解析:数据版本管理与生命周期的核心
问题引入 用户问题原文:什么是 Segment?它在 CarbonData 的数据管理和生命周期中起什么作用? 在电商用户画像构建平台中,我们曾遭遇一次严重的数据不一致事故:一条用于计算用户当日活跃度的查询 SELECT use…
📅 2026/7/28 1:24:00
告别臃肿!3步让你的暗影精灵笔记本重获新生 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub
你是否也曾为官方Om…
📅 2026/7/28 0:00:45
做 RAG 的人应该都踩过这个致命的坑:把几百页的财报、法规、技术手册扔给向量库,问一个具体问题,搜出来的全是沾边但没用的内容 —— 关键信息要么被硬切块拆碎了,要么藏在几十条结果的最下面。语义相似≠真正相关,这个…
📅 2026/7/28 0:00:46
2026年做短视频运营,从抖音上扒文案早就不是偷偷抄笔记的事了。我刚开始做内容的时候,每天刷半小时抖音,手动把爆款视频的口播敲进备忘录,一条2分钟的视频得花十来分钟,碰到语速快的还要反复回听。后来试了一圈工具&am…
📅 2026/7/28 0:00:46
更多请点击:
https://codechina.net
第一章:AI帮助理解数学概念 人工智能正以前所未有的方式重塑数学学习的路径。通过自然语言处理与符号计算的深度融合,AI不仅能解析抽象定义,还能将定理、证明和几何直觉转化为可交互、可验证的…
📅 2026/7/28 1:13:29
1. 项目背景与核心价值去年参与的一个短剧项目让我深刻体会到传统创作流程的痛点:编剧团队花了三周打磨剧本,角色设计反复修改了七版,最后成片时又因为演员档期问题不得不临时调整分镜。这种低效的创作模式在快节奏的内容行业越来越难以为继。…
📅 2026/7/28 1:13:29
remix-i18next TypeScript类型安全实践:确保翻译键与类型定义同步 【免费下载链接】remix-i18next The easiest way to translate your React Router framework mode apps 项目地址: https://gitcode.com/gh_mirrors/re/remix-i18next
在开发多语言应用时&am…
📅 2026/7/28 1:13:29
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/27 7:11:38
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/27 17:12:43
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/27 5:11:32