news 2026/5/11 15:02:15

三状态转移

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
三状态转移

lc

lc3640

三种状态 一次遍历

空间换时间 填表

class Solution {
public:
long long maxSumTrionic(vector<int>& nums) {
int n = nums.size();

const long long INF = 1e18;
long long f[n][3];
for (int i = 0; i < n; i++) for (int j = 0; j < 3; j++) f[i][j] = -INF;

long long ans = -INF;
for (int i = 0; i < n; i++) {
// 从 nums[i] 开启一个新的子数组
f[i][0] = nums[i];
if (i > 0 && nums[i] > nums[i - 1]) {
long long t = f[i - 1][0] + nums[i];


// nums[i] 接续之前的第一段
f[i][0] = max(f[i][0], t);
// 从 nums[i] 开启第二段
f[i][1] = max(f[i][1], t);
}
if (i > 0 && nums[i] < nums[i - 1]) {
long long t = f[i - 1][1] + nums[i];


// nums[i] 接续之前的第二段
f[i][1] = max(f[i][1], t);
// 从 nums[i] 开启第三段
f[i][2] = max(f[i][2], t);
}
if (i > 0 && nums[i] > nums[i - 1]) {
long long t = f[i - 1][2] + nums[i];


// nums[i] 接续之前的第三段
f[i][2] = max(f[i][2], t);
// 子数组结束
ans = max(ans, t);
}
}
return ans;
}
};

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 22:16:34

.env 文件是干啥的?为什么不能提交到 Git?

目录 一、.env 是什么&#xff1f;—— 项目的“环境配置表” 二、它是怎么工作的&#xff1f; 三、为什么绝对不能提交到 Git&#xff1f; ⚠️ 核心原因&#xff1a;.env 里通常包含敏感信息&#xff01; 四、那别人怎么跑我的项目&#xff1f; ✅ 1. 提交一个 .env.exa…

作者头像 李华
网站建设 2026/5/9 16:54:27

sci中的英文Nomenclature术语英文排序,大小写——都是有要求的——先大写,后小写——还有希腊字母排序

sci中的英文Nomenclature术语英文排序,大小写 在 SCI 期刊论文的 Nomenclature(符号说明)中,英文排序与大小写规则通常遵循以下通行且审稿人默认认可的规范(IJHMT、Applied Thermal Engineering、Energy、ASME 系列基本一致): 一、总体排序原则(最重要) ✅ 先按字母…

作者头像 李华
网站建设 2026/5/9 14:58:40

期货量化风控系统设计_资金管理与止损策略实践

免责声明&#xff1a;本文基于个人使用体验&#xff0c;与任何厂商无商业关系。内容仅供技术交流参考&#xff0c;不构成投资建议。 一、前言 二十年的期货交易生涯&#xff0c;让我深刻认识到一个道理&#xff1a;风控是量化交易的生命线。 很多人把精力都放在策略开发上&am…

作者头像 李华
网站建设 2026/5/10 11:50:13

Labview 与阿特拉斯开放式通讯:网口读取扭矩值全解析

Labview与阿特拉斯开放式通讯 网口读取扭矩值 包括Labview程序、阿特拉斯调试软件、开放式通讯测试软件、开放式通讯协议、PM4000手册。在工业自动化和设备监测领域&#xff0c;准确读取扭矩值至关重要。今天咱们就来唠唠如何通过 Labview 与阿特拉斯开放式通讯&#xff0c;利用…

作者头像 李华