【笔记】力扣 2841. 几乎唯一子数组的最大和——滑动窗口

news/2025/3/31 13:05:58/文章来源:https://www.cnblogs.com/xiins/p/18798210

2841. 几乎唯一子数组的最大和

中等

提示

给你一个整数数组 nums 和两个正整数 mk

请你返回 nums 中长度为 k几乎唯一 子数组的 最大和 ,如果不存在几乎唯一子数组,请你返回 0

如果 nums 的一个子数组有至少 m 个互不相同的元素,我们称它是 几乎唯一 子数组。

子数组指的是一个数组中一段连续 非空 的元素序列。

示例 1:

输入:nums = [2,6,7,3,1,7], m = 3, k = 4
输出:18
解释:总共有 3 个长度为 k = 4 的几乎唯一子数组。分别为 [2, 6, 7, 3] ,[6, 7, 3, 1] 和 [7, 3, 1, 7] 。这些子数组中,和最大的是 [2, 6, 7, 3] ,和为 18 。

示例 2:

输入:nums = [5,9,9,2,4,5,4], m = 1, k = 3
输出:23
解释:总共有 5 个长度为 k = 3 的几乎唯一子数组。分别为 [5, 9, 9] ,[9, 9, 2] ,[9, 2, 4] ,[2, 4, 5] 和 [4, 5, 4] 。这些子数组中,和最大的是 [5, 9, 9] ,和为 23 。

示例 3:

输入:nums = [1,2,1,2,1,2,1], m = 3, k = 3
输出:0
解释:输入数组中不存在长度为 k = 3 的子数组含有至少  m = 3 个互不相同元素的子数组。所以不存在几乎唯一子数组,最大和为 0 。

提示:

  • 1 <= nums.length <= 2 * 104
  • 1 <= m <= k <= nums.length
  • 1 <= nums[i] <= 109

题解

要求至少m个不重复的数,所以用unordered_map而不是unordered_set。

class Solution {
public:long long maxSum(vector<int> &nums, int m, int k) {long long ans=0,sum=0;unordered_map<int,int> cnt;for (int i=0;i<nums.size();i++) {sum+=nums[i];cnt[nums[i]]++;if (i<k-1) continue;if (cnt.size()>=m) {ans=max(ans,sum);}sum-=nums[i-k+1];cnt[nums[i-k+1]]--;if (cnt[nums[i-k+1]]==0) {cnt.erase(nums[i-k+1]);}}return ans;}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/907171.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NI Multisim14.3软件下载与安装教程

‌Multisim14.3‌是一款由美国国家仪器公司(NI)开发的电路仿真软件,主要用于电子电路的设计、仿真和分析。它适用于工程师、设计师、学生和电子爱好者,帮助他们进行电路设计、测试和验证。 主要功能和应用场景 Multisim14.3具有以下主要功能和应用场景:‌电路仿真‌:支持…

解锁阿里云 ESA 技术,揭秘游戏安全加速与低延时的实现路径

全方位面向游戏行业的安全加速解决方案阿里云 ESA 打造高质量的游戏体验。 如今,游戏行业正处于蓬勃发展与深刻变革的关键时期。根据中国国际数字娱乐产业大会(CDEC)发布的《2024年1-6月中国游戏产业报告》显示2024年上半年国内游戏市场实际销售收入达 1472.67 亿元 ,同比…

全球化运营平台:SAP BTP如何用AI+集成能力破解供应链与合规难题?

在全球经济深度融合的今天,企业如何打破内外业务壁垒,构建高效、智能的全球化运营体系?SAP BTP(业务技术云平台)凭借其一体化技术架构与AI创新能力,正成为企业全球化战略的核心引擎。 SAP BTP:全球化运营的“创新底座” 全球化运营的复杂性不仅在于多地域业务协同,更需…

PostgreSQL技术大讲堂 - 第84讲:重讲PostgreSQL流复制部署

PostgreSQL技术大讲堂 - 第84讲,主题:重讲PostgreSQL流复制部署主讲老师: CUUG数据库老陈,PG中文社区委员、CCF数据库专委会委员 时间:2025年03月29日19:30 地址:钉钉群直播 (群号:89285006175) 欢迎持续关注CUUG PostgreSQL技术大讲堂。

devexpress老版本部署在Linux下gdip问题修复

RUN ln -s /usr/lib/x86_64-linux-gnu/libgdiplus.so.0 /usr/lib/libgdiplus.so

重磅推出稳联技术Profinet转CANopen网关智能工厂解决方案!

重磅推出稳联技术Profinet转CANopen网关智能工厂解决方案! 稳联技术Profinet转CANopen网关应运而生——它如同一座智能桥梁☺,打通两大主流工业协议,让异构网络无缝互联,助您释放设备潜力,实现真正的“万物互联”!为什么选择稳联技术Profinet转CANopen网关? 1、协议转换…

spice环境测试

spice环境测试1、在pve上部署windows操作系统,开机能够正常登录 2、通过ssh登录pve终端中,将虚拟机对应vid配置文件添加以下参数cd /etc/pve/qemu-server 进入pve虚拟机配置文件目录下将对应vid文件添加参数 args: -spice port=61107,addr=0.0.0.0,seamless-migration=on,dis…

apisix~hmac-auth插件的使用

hmac-auth插件需要和 Consumer 一起使用,API 的使用者必须将密匙添加到请求头中以验证其请求,下面介绍它的主要用法 参数algorithm 算法 默认hmac-sha256 ["hmac-sha1", "hmac-sha256", "hmac-sha512"],客户端请求头X-HMAC-ALGORITHM=hmac-sh…

[PNPM Workspace] 搭建Monorepo工程

pnpm + workspace 前置知识 思考🤔:什么是工作空间? 答案:工作空间可以看作是一个共享的区域,所有用于工作的资源都可以从这个区域获取到。 生活中工作空间 在这个工作空间中,通常会包含与工作相关的所有工具和资源,比如办公桌、电脑、文具和文件柜等。这个工作空间是一…

欧拉22.03系统freerdp安装

欧拉22.03系统freerdp安装 1、按照欧拉22.03版本最小化安装,系统安装后安装xfce桌面环境 使用默认yum源,不用更新系统 1)安装字库 # dnf install dejavu-fonts liberation-fonts gnu-*-fonts google-*-fonts2)安装Xorg # sudo dnf install xorg-*3)安装XFCE及组件 # sudo …

leetcode每日一题:最小化字符串长度

题目 2716. 最小化字符串长度 给你一个下标从 0 开始的字符串 s ,重复执行下述操作 任意 次:在字符串中选出一个下标 i ,并使 c 为字符串下标 i 处的字符。并在 i 左侧(如果有)和 右侧(如果有)各 删除 一个距离 i 最近 的字符 c 。请你通过执行上述操作任意次,使 s 的长…