当前位置: 首页> 科技> 数码 > 湖南怀化疫情最新情况_网站推广目标计划_百度广告语_搭建网站工具

湖南怀化疫情最新情况_网站推广目标计划_百度广告语_搭建网站工具

时间:2025/9/14 9:33:39来源:https://blog.csdn.net/qq_67733273/article/details/143428162 浏览次数:0次
湖南怀化疫情最新情况_网站推广目标计划_百度广告语_搭建网站工具

文章目录

  • 题目描述
  • 题解思路
  • 题解代码
  • 题目链接

题目描述

在这里插入图片描述

题解思路

我们遍历长度为k的窗口,用一个哈希表记录窗口内的所有元素(用来对窗口内元素去重),我们取哈希表中元素数量大于等于m的窗口总和的最大值

题解代码

use std::collections::HashMap;impl Solution {pub fn max_sum(nums: Vec<i32>, m: i32, k: i32) -> i64 {let mut win = HashMap::new();let mut sum = 0;for i in 0..k as usize {win.insert(nums[i], i);sum += nums[i] as i64;}let mut ans = 0i64;if win.len() >= m as usize {ans = ans.max(sum);}for i in k as usize..nums.len() {if let Some(&start) = win.get(&nums[i-k as usize]) {if start == i - k as usize {win.remove(&nums[i-k as usize]);}}win.insert(nums[i], i);sum += (nums[i] - nums[i-k as usize]) as i64;if win.len() >= m as usize {ans = ans.max(sum);}}ans}
}

题目链接

https://leetcode.cn/problems/maximum-sum-of-almost-unique-subarray/description/

关键字:湖南怀化疫情最新情况_网站推广目标计划_百度广告语_搭建网站工具

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: