news 2026/9/2 11:43:45

力扣滑动窗口

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
力扣滑动窗口

力扣算法题第2461题:
长度为K子数组中的最大和
给你一个整数数组 nums 和一个整数 k 。请你从 nums 中满足下述条件的全部子数组中找出最大子数组和:
子数组的长度是 k,且
子数组中的所有元素 各不相同 。
返回满足题面要求的最大子数组和。如果不存在子数组满足这些条件,返回 0 。
子数组 是数组中一段连续非空的元素序列

思路(java)(滑动窗口):
先创建一个哈希表,用来保存每个值出现的次数,然后for循环,定义left来记录长度为K的子数组的最小下标值(刚开始会小于0),循环到left>=0之后,进行滑动窗口,先判断哈希表的长度是否等于K,如果不等于就说明有重复数字,跳过这一条循环,如果哈希表的长度等于K,先取之前的值和现在的值的最大值,再对最左边的元素进行离开窗口操作,即若哈希表的值为1,去除这个键,否则让其值减一.
力扣参考答案:
class Solution {
public long maximumSubarraySum(int[] nums, int k) {
long ans = 0;
long s = 0;
Map<Integer, Integer> cnt = new HashMap<>();

for (int i = 0; i < nums.length; i++) {
// 1. 进入窗口
s += nums[i];
cnt.merge(nums[i], 1, Integer::sum); // cnt[nums[i]]++

int left = i - k + 1;
if (left < 0) { // 窗口大小不足 k
continue;
}

// 2. 更新答案
if (cnt.size() == k) {
ans = Math.max(ans, s);
}

// 3. 离开窗口
int out = nums[left];
s -= out;
int c = cnt.get(out);
if (c > 1) {
cnt.put(out, c - 1);
} else {
cnt.remove(out);
}
}

return ans;
}
}
链接:https://leetcode.cn/problems/maximum-sum-of-distinct-subarrays-with-length-k/solutions/1951940/hua-dong-chuang-kou-by-endlesscheng-m0gm/

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

ComfyUI节点库大全:提升工作效率的必备组件推荐

ComfyUI节点库大全&#xff1a;提升工作效率的必备组件推荐 在AI图像生成工具遍地开花的今天&#xff0c;大多数用户仍停留在“输入提示词→点击生成”的简单交互模式中。然而&#xff0c;当项目需求变得复杂——比如需要精确控制构图、复现特定风格、批量处理任务或团队协作时…

作者头像 李华
网站建设 2026/9/2 8:18:22

2、深入解析 UNIX 与 Windows 共存及 Samba 服务

深入解析 UNIX 与 Windows 共存及 Samba 服务 1. UNIX 与 Windows 共存现状与挑战 在当今的计算机环境中,尽管 Windows NT 曾被视为 UNIX 的“杀手”,但它尚未完全取代后台的 UNIX 服务。同样,UNIX 也无法提供像 Windows 那样紧密的桌面支持服务以及友好的用户和管理界面。…

作者头像 李华
网站建设 2026/9/1 22:44:16

多工具矩阵:毕业季论文写作的 “轻量辅助工具包”——7+1 款 AI 工具的场景化适配指南

毕业季的论文攻坚&#xff0c;从来不是 “单靠一支笔” 就能完成的事&#xff1a;选题要追热点、文献要找全、框架要逻辑顺、格式要卡学校标准…… 与其在 “机械性工作” 里耗时间&#xff0c;不如用对工具把精力集中在 “研究本身”。今天不聊 “代笔”&#xff0c;只聊 “辅…

作者头像 李华
网站建设 2026/9/1 20:57:37

在 Google MCP Toolbox for Databases 中引入 Elasticsearch 支持

作者&#xff1a;来自 Elastic Enrico Zimuel 及 Laurent Saint-Flix 探索 Elasticsearch 支持现已在 Google MCP Toolbox for Databases 中可用&#xff0c;并利用 ES|QL 工具安全地将你的索引与任何 MCP 客户端集成。 动手体验 Elasticsearch&#xff1a;深入了解我们的示例 …

作者头像 李华
网站建设 2026/9/1 10:46:10

家庭网络安全加固指南保护你的数据和隐私

本文详解家庭网络面临的安全威胁、路由器安全配置、设备防护措施,以及安全最佳实践。 前言 你家的WiFi密码是不是还是"12345678"? 路由器管理密码是不是还是admin/admin? 摄像头、NAS有没有直接暴露在公网上? 家庭网络安全常被忽视,但后果可能很严重: 邻居蹭…

作者头像 李华
网站建设 2026/9/1 10:11:41

ELMduino终极指南:快速构建OBD-II车辆监控系统

ELMduino终极指南&#xff1a;快速构建OBD-II车辆监控系统 【免费下载链接】ELMduino Arduino OBD-II Bluetooth Scanner Interface Library for Car Hacking Projects 项目地址: https://gitcode.com/gh_mirrors/el/ELMduino ELMduino是一个功能强大的开源Arduino库&am…

作者头像 李华