news 2026/10/1 23:06:14

第 173 场双周赛Q2——3795. 不同元素和至少为 K 的最短子数组长度

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第 173 场双周赛Q2——3795. 不同元素和至少为 K 的最短子数组长度

题目链接:3795. 不同元素和至少为 K 的最短子数组长度(中等)

算法原理:

解法:滑动窗口

146ms击败35.92%

时间复杂度O(N)

系统滑动窗口专题👇

一轮复习——C.滑动窗口模型总结

本题的滑动窗口模型为不定长-求长度-越长越合法/求最短/最小

①进窗口:用哈希表记录,保证相同值只加一次

②出窗口:总和>=k就持续出窗口

③更新:在出窗口时,也就是不断缩小范围时更新

Java代码:

class Solution { public int minLength(int[] nums, int k) { //滑动窗口 Map<Integer,Integer> hash=new HashMap<>(); int n=nums.length,sum=0,ret=0x3f3f3f3f; for(int left=0,right=0;right<n;right++){ //相同值只加一次 if(!hash.containsKey(nums[right])) sum+=nums[right]; //进窗口 hash.put(nums[right],hash.getOrDefault(nums[right],0)+1); //出窗口 while(sum>=k){ //更新:出窗口时不断缩小范围更新 if(sum>=k) ret=Math.min(ret,right-left+1); hash.put(nums[left],hash.get(nums[left])-1); if(hash.get(nums[left])==0){ sum-=nums[left]; hash.remove(nums[left]); } left++; } } return ret==0x3f3f3f3f?-1:ret; } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/29 6:10:36

30分钟搭建Docker环境检测工具原型

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 快速开发一个轻量级Web应用原型&#xff0c;用户上传系统信息文件或运行简单检测脚本后&#xff0c;能够立即返回Docker虚拟化支持状态报告和定制化修复建议。重点展示核心功能&am…

作者头像 李华
网站建设 2026/10/1 3:14:58

AI如何防止开发者误执行危险代码?

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个AI辅助开发工具&#xff0c;能够实时分析开发者粘贴到控制台的代码&#xff0c;识别潜在危险操作&#xff08;如恶意脚本、敏感数据泄露等&#xff09;&#xff0c;并给出…

作者头像 李华
网站建设 2026/9/29 4:28:39

小白必看:‘连接被阻止‘错误详解与简单解决方法

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个新手友好的网络问题解决指南网页应用&#xff0c;包含&#xff1a;1. 动画演示错误原因 2. 分步骤图文解决方案 3. 常见问题FAQ 4. 一键检测工具。要求界面简洁&#xff0…

作者头像 李华
网站建设 2026/9/30 9:14:32

零基础教程:5分钟完成POSTMAN基础汉化

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 制作一个POSTMAN汉化入门工具&#xff0c;特点&#xff1a;1. 极简操作界面 2. 预设常用翻译 3. 一键应用 4. 错误恢复功能 5. 视频教程集成。使用Electron开发桌面应用&#xff0…

作者头像 李华
网站建设 2026/9/30 12:50:38

Sass API迁移效率革命:AI vs 人工对比报告

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 构建一个Sass迁移效率分析器&#xff0c;能够&#xff1a;1) 统计项目中legacy API调用点数量 2) 估算人工迁移所需工时 3) 演示AI自动迁移过程 4) 生成可视化对比报告。要求整合K…

作者头像 李华
网站建设 2026/9/29 9:08:03

创作者福音:VibeVoice让文字自动变成多人对话剧

创作者福音&#xff1a;VibeVoice让文字自动变成多人对话剧 在播客、有声书和虚拟访谈内容爆炸式增长的今天&#xff0c;一个现实问题摆在每一位内容创作者面前&#xff1a;如何高效制作自然流畅、角色鲜明的多人对话音频&#xff1f;传统方式依赖真人录音——协调时间、反复剪…

作者头像 李华