DeepSeek    LeetCode 3699. 锯齿形数组的总数 I Go实现 gopackage mainfunc zigZagArrays(n int, l int, r int) int {const MOD int64 1_000_000_007m : r - l 1if n 1 {return m}// up[i]: 以值 i 结尾且最后一步为上升的方案数// down[i]: 以值 i 结尾且最后一步为下降的方案数up : make([]int64, m)down : make([]int64, m)for i : 0; i m; i {up[i] 1down[i] 1}// 重复添加 n-1 个元素for step : 1; step n; step {// 前缀和prefixDown[i] sum(down[0..i-1])prefixDown : make([]int64, m1)for i : 0; i m; i {prefixDown[i1] (prefixDown[i] down[i]) % MOD}// 后缀和suffixUp[i] sum(up[i..m-1])suffixUp : make([]int64, m1)for i : m - 1; i 0; i-- {suffixUp[i] (suffixUp[i1] up[i]) % MOD}newUp : make([]int64, m)newDown : make([]int64, m)for x : 0; x m; x {// 上升前一步必须为下降且前一个值 xnewUp[x] prefixDown[x] // sum(down[0..x-1])// 下降前一步必须为上升且前一个值 xnewDown[x] suffixUp[x1] // sum(up[x1..m-1])}up, down newUp, newDown}var total int64for i : 0; i m; i {total (total up[i] down[i]) % MOD}return int(total)}复杂度分析· 时间复杂度O(n \cdot m)其中 m r - l 1。· 空间复杂度O(m)。关键点· 用 up 和 down 分别表示最后一步方向为上升/下降的方案数。· 使用前缀和和后缀和将状态转移优化为 O(m)整体 O(n \cdot m)。· 当 n1 时直接返回 m因为任意单元素数组都满足条件。· 所有计算取模 10^97。

相关新闻

最新新闻

【DIY系列:Java虚拟机】第13篇:类访问标志——public/abstract/final 都在里面

【DIY系列:Java虚拟机】第13篇:类访问标志——public/abstract/final 都在里面

上一篇【第12篇】魔数与版本号——class 文件的"身份证" 下一篇【第14篇】类索引、接口表与字段方法表——class 文件的"族谱" 摘要 上一篇测试解析 java.lang.String 时,输出里有一个神秘的 access flags: 0x31。 这个 0x31 是什么意思&…

2026/9/9 9:01:35
CORS诞生前夜:JSONP与图片探测的跨域原理与实战

CORS诞生前夜:JSONP与图片探测的跨域原理与实战

这问题问到我心坎里了。我大概是2012年入行做前端,那会儿要是谁在控制台里看到 XMLHttpRequest cannot load ... No Access-Control-Allow-Origin header is present ,第一反应不是上网搜,而是先看看自己是不是穿越了——因为那年代&#x…

2026/9/9 9:01:35
技术博客创作:从项目标题到关键词的素材准备指南

技术博客创作:从项目标题到关键词的素材准备指南

很抱歉,没有收到可用的创作素材。输入中的项目标题为空,项目正文、关键词、摘要描述也均为空白,对应的热搜词和网络搜索内容同样没有提供。 请先补充以下任意一项内容,我就能立刻围绕它展开深度创作: 项目标题&#…

2026/9/9 9:01:35
DSGE模型鲁棒预测实战:不完整信息下的Matlab滤波与实现

DSGE模型鲁棒预测实战:不完整信息下的Matlab滤波与实现

做宏观计量和预测的朋友应该都有这种体会:模型再精美,一旦落到真实数据上,总有两个绕不开的坎——信息不完整和参数不稳。传统DSGE模型在理论上假设经济主体和计量研究者都掌握了完整信息,但现实中我们观测到的产出、通胀、利率只…

2026/9/9 9:01:35
R语言stringr包字符串处理实战:从Base R迁移到高效数据清洗

R语言stringr包字符串处理实战:从Base R迁移到高效数据清洗

1. 为什么处理字符串要首选stringr包:从Base R的痛点说起 接触R语言的人大多有过这样的经历:拿到一批脏数据,里面既有"张三"也有"张三 "(带空格),还有"zhang san"和"Zh…

2026/9/9 9:01:35
基于STM32和DHT11的家庭环境监测系统设计:从原理到Proteus仿真实战

基于STM32和DHT11的家庭环境监测系统设计:从原理到Proteus仿真实战

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

2026/9/9 8:56:34