DeepSeek    LeetCode 3753. 范围内总波动值 II Java实现
题目理解波动值定义· 峰数位 严格大于 其两个相邻数位· 谷数位 严格小于 其两个相邻数位· 第一个和最后一个数位不能是峰或谷· 少于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)

相关新闻

HarmonyOS应用开发实战:猫猫大作战-`replaceUrl` 与 `pushUrl` 的核心区别、无回退栈的设计原则、以及在实际项目中的正确使用方

HarmonyOS应用开发实战:猫猫大作战-`replaceUrl` 与 `pushUrl` 的核心区别、无回退栈的设计原则、以及在实际项目中的正确使用方

前言 在某些场景下,我们不希望用户通过返回键回到之前的页面——例如登录页跳转到主页、启动引导页跳转到首页、游戏结束后重新开始。HarmonyOS 提供了 router.replaceUrl 来替换当前页面,被替换的页面会从页面栈中移除,用户无法通过返回键回…

2026/7/28 0:22:51 阅读更多 →
HarmonyOS应用开发实战:猫猫大作战-在 HarmonyOS 应用中,WindowStage(窗口舞台)是连接 UIAbility 与页面的中间枢纽

HarmonyOS应用开发实战:猫猫大作战-在 HarmonyOS 应用中,WindowStage(窗口舞台)是连接 UIAbility 与页面的中间枢纽

前言 在 HarmonyOS 应用中,WindowStage(窗口舞台)是连接 UIAbility 与页面的中间枢纽——它负责管理应用窗口的创建、显示、隐藏、销毁全周期,并承载 loadContent 加载首屏页面。理解 onWindowStageCreate 回调的完整能力&#x…

2026/7/28 0:22:51 阅读更多 →
Applera1n:iOS 15-16.6激活锁绕过终极解决方案深度解析

Applera1n:iOS 15-16.6激活锁绕过终极解决方案深度解析

Applera1n:iOS 15-16.6激活锁绕过终极解决方案深度解析 【免费下载链接】applera1n icloud bypass for ios 15-16 项目地址: https://gitcode.com/gh_mirrors/ap/applera1n 在iOS设备安全领域,激活锁(Activation Lock)一直…

2026/7/28 0:22:51 阅读更多 →

最新新闻

Audio Slicer终极指南:如何用智能静音检测实现400倍音频处理效率

Audio Slicer终极指南:如何用智能静音检测实现400倍音频处理效率

Audio Slicer终极指南:如何用智能静音检测实现400倍音频处理效率 【免费下载链接】audio-slicer A simple GUI application that slices audio with silence detection 项目地址: https://gitcode.com/gh_mirrors/aud/audio-slicer 还在为手动剪辑音频的繁琐…

2026/7/28 0:31:53 阅读更多 →
MonitorControl:macOS外接显示器亮度控制的终极解决方案

MonitorControl:macOS外接显示器亮度控制的终极解决方案

MonitorControl:macOS外接显示器亮度控制的终极解决方案 【免费下载链接】MonitorControl 🖥 Control your displays brightness & volume on your Mac as if it was a native Apple Display. Use Apple Keyboard keys or custom shortcuts. Shows t…

2026/7/28 0:30:53 阅读更多 →
RealNoise™ TTS:动态声场合成技术突破恐怖谷效应

RealNoise™ TTS:动态声场合成技术突破恐怖谷效应

1. 项目概述:RealNoise™ TTS的技术突破在语音合成领域,恐怖谷效应长期困扰着技术发展——当合成语音接近真人但存在细微失真时,用户会产生强烈不适感。RTE开发者社区最新发布的RealNoise™ TTS通过创新性地引入动态声场合成技术,…

2026/7/28 0:30:53 阅读更多 →
本地AI会议记录工具Horch:隐私保护与自动化任务提取实战

本地AI会议记录工具Horch:隐私保护与自动化任务提取实战

1. 项目背景与核心价值在日常开发会议和团队协作中,我们经常面临一个共同痛点:会议记录分散、任务跟踪困难、关键信息容易遗漏。传统解决方案要么需要手动整理,要么依赖云端服务存在数据隐私风险。Horch 的出现正是为了解决这些问题——它是一…

2026/7/28 0:30:53 阅读更多 →
关于文献【动词分类理论】

关于文献【动词分类理论】

1、【我的问题】动词分类理论是什么意思?【deepseek】【我的总结】动词分类理论就是动词可以按有没有最终目的地来分类

2026/7/28 0:30:53 阅读更多 →
短剧配音代入感实测:AI能不能配出真情绪

短剧配音代入感实测:AI能不能配出真情绪

先说结论:AI已经能配出可感知、可复现的情绪,但“有情绪”不等于“有代入感”。真正决定观众会不会出戏的,是声音能否跟着剧情变化:同一句台词在试探、确认、崩溃三个阶段,音高、气息、语速和停顿都应改变。实测时应把…

2026/7/28 0:30:53 阅读更多 →

日新闻

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!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:43 阅读更多 →
RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

做 RAG 的人应该都踩过这个致命的坑:把几百页的财报、法规、技术手册扔给向量库,问一个具体问题,搜出来的全是沾边但没用的内容 —— 关键信息要么被硬切块拆碎了,要么藏在几十条结果的最下面。语义相似≠真正相关,这个…

2026/7/28 0:00:43 阅读更多 →
抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

2026年做短视频运营,从抖音上扒文案早就不是偷偷抄笔记的事了。我刚开始做内容的时候,每天刷半小时抖音,手动把爆款视频的口播敲进备忘录,一条2分钟的视频得花十来分钟,碰到语速快的还要反复回听。后来试了一圈工具&am…

2026/7/28 0:00:43 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/27 4:33:59 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/27 6:31:56 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/27 4:01:12 阅读更多 →

月新闻