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

leetcode_3584子序列首尾元素乘积最大值

1. 题意

给你一个整数数组 nums 和一个整数 m。

返回任意大小为 m 的 子序列 中首尾元素乘积的最大值。

子序列 是可以通过删除原数组中的一些元素(或不删除任何元素),且不改变剩余元素顺序而得到的数组。

2. 题解

由于序列的长度为 m m m, 我们可以枚举序列最后一个元素的位置;而对于序列的首元素的位置,从左往右不断获得最大值和最小值。这次获得的首元素位置一定可以用到下一次。

枚举序列右端点,维护序列左端点

class Solution {
public:long long maximumProduct(vector<int>& nums, int m) {int mx = nums[0];int mn = nums[0];int sz = nums.size();long long ans = 0;for (int i = 0;i <= sz - m; ++i) {mx = std::max( mx, nums[i]);mn = std::min( mn, nums[i]);if ( i == 0) {ans = (long long)nums[0] * nums[m - 1];}else {ans = std::max( (long long)mx * nums[i + m - 1], ans);ans = std::max( (long long)mn * nums[i + m - 1], ans);}}return ans;}   
};
http://www.lryc.cn/news/571277.html

相关文章:

  • phpstorm无缝切换vscode
  • 在Linux上搭建FRP服务器及Docker部署FRP实现内网穿透方案二(Nginx前置 + FRP TCP穿透)
  • C++智能指针(详细解答)
  • 多维度剖析Kafka的高性能与高吞吐奥秘
  • FPGA基础 -- Verilog语言要素之向量线网与标量线网
  • 自然语言处理(NLP)核心技术:从词嵌入到Transformer
  • 微信小程序一款不错的文字动画
  • 密度泛函涨落理论在医疗人工智能中的应用与展望:多尺度物理驱动智能的新范式
  • Spring Boot + MyBatis + Redis Vue3 Docker + Kubernetes + Nginx
  • OpenCV 视频文件读取
  • Linux核心文件(core file)详解
  • Vue 3 常用响应式数据类型详解:ref、reactive、toRef 和 toRefs
  • 【Linux系统】初识虚拟地址空间
  • Java微服务-新建demo
  • UTF-8 发展历史以及与 UTF-16/GBK 之间的差异
  • AI办公提效,Deepseek + wps生成ppt
  • 网络安全之任意文件读取利用
  • 如何在应用中实现地图关键字搜索和标记聚合功能?
  • 图扑软件 | 3D 场景视频嵌入应用
  • 【pytest进阶】Pytest之conftest详解
  • Kafka网络模块全链路源码深度剖析与设计哲学解读
  • RAG 架构地基工程-Retrieval 模块的系统设计分享
  • 测试:网络协议超级详解
  • 国产数据库KingbaseES零基础实战:Oracle兼容功能从入门到精通
  • 探索KingbaseES在线体验平台:国产数据库新体验
  • 力扣Hot100每日N题(19~24)
  • 性能测试|数据说话!在SimForge平台上用OpenRadioss进行汽车碰撞仿真,究竟多省时?
  • 页面配置文件pages.json和小程序配置
  • 金仓数据库在线体验平台:开启国产数据库云端探索之旅
  • 【万元大奖】2025年第二届教育信息技术应用创新大赛——操作系统技能创新挑战赛 开始报名啦!!!