news 2026/2/5 9:31:52

第 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/2/3 8:38:08

小白也能懂:QT安装图文详解(2024最新版)

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 生成一个交互式QT安装引导程序&#xff0c;要求&#xff1a;1.分步图文指引 2.实时错误检测 3.常见问题解答浮窗 4.安装进度可视化 5.完成后自动启动示例项目。使用DeepSeek模型&a…

作者头像 李华
网站建设 2026/2/4 14:32:49

AKSHARE金融数据获取:AI自动生成Python代码实战

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 请生成一个完整的Python项目&#xff0c;使用AKSHARE库获取中国A股市场数据。要求包含以下功能&#xff1a;1) 通过股票代码获取实时行情数据 2) 获取历史K线数据并可视化 3) 实现…

作者头像 李华
网站建设 2026/2/4 23:37:38

AI串口助手:自动解析与智能调试

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个AI增强型串口助手&#xff0c;支持自动识别常见数据格式&#xff08;JSON/Hex/ASCII&#xff09;&#xff0c;实时分析数据流并标记异常值&#xff0c;根据上下文提供调试…

作者头像 李华
网站建设 2026/2/5 0:54:52

HSLCOMMUNICATION协议入门:从零开始搭建通信系统

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个交互式HSLCOMMUNICATION学习平台&#xff0c;包含协议基础教程和分步实践项目。用户可通过拖拽方式配置简单的通信场景&#xff08;如两个节点交换数据&#xff09;&#…

作者头像 李华
网站建设 2026/2/5 0:57:29

MODBUS POLL效率革命:自动化测试方案

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个MODBUS自动化测试框架&#xff0c;支持测试用例的录制与回放。功能包括&#xff1a;1) 测试步骤录制&#xff0c;2) 参数化测试数据&#xff0c;3) 断言响应结果&#xff…

作者头像 李华
网站建设 2026/2/5 6:59:12

效率提升300%:AI自动生成EXPLORERPATCHER代码实践

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个性能对比工具&#xff0c;能够&#xff1a;1) 记录传统方式编写EXPLORERPATCHER代码的时间 2) 记录使用AI辅助开发的时间 3) 生成对比图表 4) 分析效率提升点。使用JavaSc…

作者头像 李华