[豪の算法奇妙冒险] 代码随想录算法训练营第二天 | 209-长度最小的子数组、59-螺旋矩阵II

news/2025/11/20 16:46:59/文章来源:https://www.cnblogs.com/SchwarzShu/p/19247666

代码随想录算法训练营第二天 | 209-长度最小的子数组、59-螺旋矩阵II


LeetCode209 长度最小的子数组

题目链接:https://leetcode.cn/problems/minimum-size-subarray-sum/

文章讲解:https://programmercarl.com/0209.%E9%95%BF%E5%BA%A6%E6%9C%80%E5%B0%8F%E7%9A%84%E5%AD%90%E6%95%B0%E7%BB%84.html

视频讲解:https://www.bilibili.com/video/BV1tZ4y1q7XE

​ 一开始用的两层for循环,尝试暴力遍历求解,但最后不出意料的超时了:

image-20251120145641692

class Solution {public int minSubArrayLen(int target, int[] nums) {int minlen = nums.length + 1;for(int i = 0;i < nums.length;i++){int sum = 0;int curlen = 0;for(int j = i;j < nums.length;j++){sum += nums[j];curlen++;if(curlen >= minlen || sum >= target){break;}}if(sum >= target && curlen < minlen){minlen = curlen;}}if(minlen > nums.length){return 0;}else{return minlen;}}
}

​ 然后看了讲解视频,发觉使用双指针滑动窗口的思路解决这道题会更加合适

​ 用滑动窗口,可以用一个for代替暴力求解的两个for

​ 关键在于确定如何移动起始位置,然后持续向后移动,更新滑动窗口的大小

image-20251120145920114

class Solution {public int minSubArrayLen(int target, int[] nums) {int minlen = nums.length + 1;int i = 0;int sum = 0;for(int j = 0;j < nums.length;j++){sum += nums[j];while(sum >= target){int curlen = j-i+1;if(minlen > curlen){minlen = curlen;}sum -= nums[i];i++;}}if(minlen > nums.length){return 0;}else{return minlen;}}
}

LeetCode59 螺旋矩阵II

题目链接:https://leetcode.cn/problems/spiral-matrix-ii/

文章讲解:https://programmercarl.com/0059.%E8%9E%BA%E6%97%8B%E7%9F%A9%E9%98%B5II.html

视频讲解:https://www.bilibili.com/video/BV1SL4y1N7mV/

​ 这题就是要明确循环不变量,确定好一套边界处理规则

​ 把边界条件搞清晰,这题也就迎刃而解了

image-20251120162931222

class Solution {public int[][] generateMatrix(int n) {int startI = 0,startJ = 0,offset = 1;int cnt = 1;int loop = n/2;int[][] result = new int[n][n];while(true){loop--;if(loop < 0){break;}int i = startI;int j = startJ;for(;j < n-offset;j++){result[startI][j] = cnt++;}for(;i < n-offset;i++){result[i][n-offset] = cnt++;}for(;j > startJ;j--){result[n-offset][j] = cnt++;}for(;i > startI;i--){result[i][startJ] = cnt++;}startI++;startJ++;offset++;}if(n%2 == 1){result[n/2][n/2] = cnt;}return result;}
}

扩展题目:KamaCode58 区间和、KamaCode44 开发商购买土地

扩展题目留着周末再另外做...

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

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

相关文章

Ubuntu22.04.3安装docker、docker compose

更新系统并安装依赖 bash 运行 sudo apt-get update sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common 添加 Docker 官方 GPG 密钥 bash 运行 curl -fsSL https://downl…

2025 年 11 月上料机厂家推荐排行榜,单工位上料机,双工位上料机,四工位上料机,四工位圆盘上料机,自动化设备,工业自动化设备,工业机器人公司推荐

2025年11月上料机厂家推荐排行榜:自动化设备与工业机器人企业深度解析 行业背景与发展趋势 随着制造业智能化转型的深入推进,上料机作为工业自动化生产线的重要组成设备,正迎来前所未有的发展机遇。单工位上料机、双…

es 线程池状态

1. 查看当前线程池状态 通过 Elasticsearch API 查看bash# 查看所有线程池状态 curl -X GET "localhost:9200/_cat/thread_pool?v&s=name"# 查看特定线程池(如搜索线程池) curl -X GET "localho…

12种k线图

光头阳线,在行情启动的初期:比较好的入场信号,说明庄家在建仓出现在反复拉伸的后期:庄家出货的征兆

yield 模拟 async/await

您说得对!Generator 的 yield 配合执行器确实可以模拟 await 的效果。让我用一个更直观的例子展示这种对应关系。 Generator 模拟 async/await// 模拟异步函数 function delay(ms, value) {return new Promise(resolv…

2025年矩形花键轴企业权威推荐榜单:内花键轴/铣花键轴/精密花键轴源头厂家精选

在工业传动部件领域,花键轴作为连接与传递动力的核心元件,其加工精度直接影响机械设备的传动效率与可靠性。随着高端装备制造业向高精度、高可靠性方向发展,矩形花键轴的市场需求持续增长。为协助采购企业精准对接优…

2025年工业凉水塔制造企业权威推荐榜单:水冷却塔/冷却塔冷水塔/方形冷却塔源头厂家精选

在工业节水与节能改造的双重驱动下,一批掌握核心技术的凉水塔制造企业正凭借其创新产品赢得市场认可。 工业凉水塔(又称冷却塔)作为工业生产循环水系统的关键散热设备,其性能优劣直接关系到生产效率和运行成本。随…

开源AI工具MindGridAI

MindGridAI 介绍 这是一个小的AI工具,他可以: 1、网页变脑图 2、用自然语言提取网页结构化信息到表格 开源地址: https://gitee.com/zxporz/MindGridAI https://github.com/X-Pacific/MindGridAI 本地安装 1. pip …

2025年机场广告品牌口碑大比拼,前三名实力惊人!电梯视频广告/高铁广告/地铁广告/户外LED广告/户外农村墙体/主流网络媒体品牌有哪些

行业背景分析 随着2025年航空客运量的持续回升,机场广告市场迎来新一轮发展机遇。作为高端消费场景的重要营销阵地,机场广告已成为品牌商抢占高端客群心智的关键渠道。根据最新行业数据显示,2025年第一季度机场广告…

高效构建 CHI 架构

在多核 SoC 设计领域,CHI(Coherent Hub Interface)协议以其高性能与可扩展性,已成为实现缓存一致性与系统加速的关键技术。本文深入剖析 CHI 的架构优势、应用场景与前沿集成方式。 1、什么是 CHI? CHI 是 ARM AM…

还在手动改数据库?Flyway 自动化迁移实战指南 - lxr

Flyway 操作文档 文档目标:作为团队的规范文档,确保团队所有成员遵循相同的操作规范。 介绍 Flyway 相关的操作说明,包括编写 SQL 迁移脚本的规范、回滚策略等,确保团队在使用 Flyway 时的统一性和一致性。Flyway …

2025年河北租用服务器公司权威推荐榜单:网站服务器租用/服务器主机租用/阿里云服务器租用源头公司精选

在数字化转型浪潮与算力需求激增的驱动下,河北服务器租用市场正迎来专业化与高标准的重要发展阶段。 作为京津冀协同发展的重要节点,河北的数字经济蓬勃发展,对高质量服务器租用与托管服务的需求持续攀升。各类服务…

“入站规则”(Inbound Rules)和“出站规则”(Outbound Rules)

在防火墙(Firewall)或网络安全策略中,“入站规则”(Inbound Rules)和“出站规则”(Outbound Rules)的含义如下:简单记忆口诀: 入站规则:别人进来我说了算(防别人攻我) 出站规则:我出去我说了算(防我被控…

毕业论文选题攻略:如何快速锁定高质量研究方向

毕业论文选题对大学生至关重要,本文提供系统选题攻略并介绍巨鲸写作工具。攻略包括明确研究兴趣与目标,通过回顾课程、阅读文献等确定兴趣,使目标具具体性、可行性和创新性;调研现有研究,利用巨鲸写作生成文献综述…

四川靠谱的小红书代运营公司推荐,小红书推广/网络推广/网络公关/抖音代运营/抖音推广/网络营销/网站建设小红书代运营公司找哪家

行业洞察:专业代运营服务助力品牌营销升级 随着社交电商的快速发展,小红书平台已成为品牌营销的重要阵地。在四川地区,一批专业的小红书代运营公司凭借其专业服务能力,为本地企业提供了全方位的数字营销解决方案。…

SQL Server Job 操作

SQL Server Job创建:(SQL Server 代理 - 作业)鼠标右键、新建作业。【常规】选项:定义作业名称、和说明信息。【步骤】选项:新建步骤定义步骤名称、设置对应的数据库、写好T-SQL脚本。对脚本进行分析(确保脚本的…

洛谷题单指南-组合数学与计数-CF1332E Height All the Same

原题链接:https://www.luogu.com.cn/problem/CF1332E 题意解读:n*m二维矩阵中,每个位置有一个数字aij∈[L,R],有两种操作: 1、将相邻两个数字各加1 2、将一个数字加2 问有多少种初始状态,使得通过以上操作将所有…

Oracle 2025年1月关键补丁更新深度解析

本文详细介绍了Oracle 2025年1月关键补丁更新,涵盖318个安全补丁,涉及数据库、中间件、应用程序等多个产品线,包括漏洞风险评估、受影响版本信息及修复建议。Oracle 2025年1月关键补丁更新公告 描述 关键补丁更新是…

2025年合金热喷涂加工厂权威推荐榜单:耐腐合金涂层工艺/合金涂层加工/合金涂层喷涂工厂服务商精选

在工业设备效能提升与再制造领域,合金热喷涂技术凭借其卓越的表面强化与修复能力,正成为延长关键部件寿命的核心工艺。据行业数据显示,2024年中国表面工程技术服务市场规模已突破200亿元,其中合金热喷涂服务的年增…