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

DeepSeek LeetCode 1425.带限制的子序列和 public int constrainedSubsetSum(int[] nums, int k)

以下是 LeetCode 1425「带限制的子序列和」的 Java 解法,使用动态规划 + 单调队列实现,时间复杂度 O(n),空间复杂度 O(n)。

```java
public int constrainedSubsetSum(int[] nums, int k) {
int n = nums.length;
int[] dp = new int[n]; // dp[i] 表示以 i 结尾的子序列的最大和
Deque<Integer> dq = new ArrayDeque<>(); // 单调队列存储索引,按 dp 值递减
int ans = Integer.MIN_VALUE;

for (int i = 0; i < n; i++) {
// 移除窗口外的索引
while (!dq.isEmpty() && dq.peekFirst() < i - k) {
dq.pollFirst();
}
// 获取前 k 个位置的最大 dp 值(负数则取 0)
int maxPrev = dq.isEmpty() ? 0 : Math.max(0, dp[dq.peekFirst()]);
dp[i] = nums[i] + maxPrev;
ans = Math.max(ans, dp[i]);

// 维护单调递减队列
while (!dq.isEmpty() && dp[dq.peekLast()] <= dp[i]) {
dq.pollLast();
}
dq.offerLast(i);
}
return ans;
}
```

算法思路:

· 定义 dp[i] 为必须选择 nums[i] 时,以 i 结尾的子序列的最大和。
· 转移方程:dp[i] = nums[i] + max(0, max(dp[j])),其中 i - k ≤ j < i。
· 使用单调递减队列维护窗口内 dp 值,队首即为窗口内最大 dp 值。
· 最终答案取所有 dp[i] 的最大值。

注意事项:

· 允许子序列只包含当前元素(即不加任何前面的元素),因此 maxPrev 需要与 0 比较。
· 若所有数均为负数,答案即为最大元素(因为只选一个元素的情况会被考虑)。

http://www.jsqmd.com/news/606943/

相关文章:

  • BOTW存档编辑器终极指南:5分钟掌握《塞尔达传说:旷野之息》存档修改
  • 2026年上海靠谱的罗普斯金系统门窗认证厂家排名 - 工业品网
  • 如何永久保存微信聊天记录?WeChatMsg本地备份完整指南
  • 从PagedAttention到KV Cache Manager:vLLM高效内存管理实战解析
  • ROFL播放器:5分钟解决英雄联盟回放播放难题的终极指南
  • hyn/multi-tenant事件系统完全指南:监听器、作业与中间件的完美集成
  • 从仓库打包到云服务器调度:Bin-Packing算法在程序员日常中的5个隐藏应用
  • PyTorch设备管理:深入理解to(device)与.cuda()的灵活应用
  • Kandinsky-5.0-I2V-Lite-5s实战案例:用建筑设计图生成漫游视角室内短视频
  • 零基础玩转AI头像生成器:3步生成Midjourney提示词
  • 如何判断 SEO 软件是否能有效优化关键词排名
  • OpenClaw极简配置:Qwen3-4B-Thinking-2507-GPT-5-Codex-Distill-GGUF最小化部署方案
  • TensorFlow 2.x与Keras完美融合:构建深度学习模型的终极教程
  • Orbbec Gemini深度相机实战:Python3.9环境下的彩色与深度流对齐完整流程(附避坑指南)
  • 暗黑3智能宏助手终极指南:三步解决重复操作难题,轻松提升游戏效率
  • 用树莓派+ROS+科大讯飞SDK,从零搭建一个能听懂人话的智能小车(附完整代码)
  • 京东e卡回收避坑指南 - 团团收购物卡回收
  • 5步释放20GB空间:DriverStore Explorer开源工具深度清理Windows驱动冗余指南
  • 2026年4月7日技术资讯洞察:下一代数据库融合、AI基础设施竞赛与异步编程实战
  • 告别复杂对抗训练:用Python+PyTorch实现傅里叶域自适应(FDA),5分钟搞定语义分割的域迁移
  • MedGemma 1.5参数详解:4B-IT模型在本地GPU上的推理配置与性能调优
  • 力扣98.验证二叉搜索树
  • LED显示屏厂家常见问题解答(2026最新专家版) - 速递信息
  • adg主备库路径不同时的增量恢复
  • 保姆级教程:用PyTorch复现DALL·E核心组件之dVAE(含Gumbel-Softmax实现)
  • Vofa+多通道数据可视化方案对比:Firewater和Justfloat协议选择指南(含性能测试)
  • Pix2Text技术架构解析:基于深度学习的高精度图像文档识别系统
  • 终极Windows更新修复指南:Reset Windows Update Tool完全解析
  • 反向传播的数学真相:链式法则如何把“输出误差”高效回溯到每一层权重,让神经网络真正学会
  • CRM是什么?为什么很多企业上了CRM却用不起来? - 纷享销客智能型CRM