【算法训练营Day02】数组part2

article/2025/6/27 7:52:02

文章目录

  • 长度最小的子数组
  • 螺旋矩阵II
  • 数组总结

长度最小的子数组

题目链接:209. 长度最小的子数组

滑动窗口法的解题思路:

  • 首先初始化双指针,都指向数组头部
  • end指针依次向后滑,每向后滑一项就加一项,直到满足要求达到的大小为止
  • end指针不动,head指针向后滑,每向后滑一项就减一项,这也就是在尝试缩小窗口大小,直到不满足大小为止
    • 更新窗口的最小长度
  • 如此循环往复直到end指针未知异常(超出数组范围)
  • 最后返回窗口的最小长度即可
  • 这里有一个容易遗漏的情况就是,数组的所有元素加起来都没达到要求,这个时候就要返回0
class Solution {public int minSubArrayLen(int target, int[] nums) {int head = 0;int total = 0;int minLength = Integer.MAX_VALUE;for(int end = 0; end < nums.length; end++) {total += nums[end];if(total < target) {if (head == 0 && end == nums.length - 1) return 0;continue;}while (total - nums[head] >= target) total -= nums[head++];int currentLength = end - head + 1;if(currentLength < minLength) minLength = currentLength;}return minLength;}
}

螺旋矩阵II

题目链接: 59. 螺旋矩阵 II

本题首先观察题目特点:

  • 填充路线都是在一个方向上进行到底才转向
  • 往哪转?可以从向量的角度来看,如下图
    在这里插入图片描述
  • 这张图中通过单位向量的方式,描述了每次转向的方向(同时也代表了每次移动的坐标变化量)
  • 我们可以总结出每次转向都是(x,y) --> (y,-x)

接下来开始编码:

class Solution {public int[][] generateMatrix(int n) {int[][] result = new int[n][n];int x = 0;int y = 0;int direct_x = 0;int direct_y = 1;for (int i = 1; i <= n * n; i++) {result[x][y] = i;int try_x = x + direct_x;int try_y = y + direct_y ;if (try_x > n - 1 || try_y > n - 1 || try_x < 0 || try_y < 0 || result[try_x][try_y] != 0) {int temp = direct_y;direct_y = -direct_x;direct_x = temp;}x += direct_x;y += direct_y;}return result;}
}

转向的边界判断可以使用取模的方式简化

数组总结

数组的相关算法题,比较常用的就是四种方法:

  • 二分法
  • 双指针法: 两个指针的动向比较灵活,但不能违背指针的前后次序
  • 滑动窗口法: 可以理解为双指针法的变种,两个指针具有单调性,均往一个方向走,区间的变化是一种收缩,满足元素剔除的思想
  • 行为模拟: 一定要弄清楚题目的特点,涉及到多维数组,可以从数学的角度来看待,通过建系的方法,把行为转化为坐标的变化从而进行解题

http://www.hkcw.cn/article/QcvkseRtnJ.shtml

相关文章

重庆部分居民称自来水有臭味 水质调整引发关注

5月30日,许多网友在社交平台反映重庆南岸区的自来水存在浓浓异味。一位女网友表示,她住在南岸区南坪万达附近,一放水整个房间弥漫着臭味,洗衣服和洗手都受影响。另一位居民也提到家里味道严重,起初以为是下水道问题,后来发现小区群里都在讨论自来水异味。亚太商谷小区的一…

前端html2canvas结合print-js打印页面,并解决多余空白页问题

一、功能 前端html2canvas打印 HTML页面局部打印 二、代码 结合print-js打印页面 import html2canvas from html2canvas; import printJS from print-js;/** 打印*/const handleDownload async () > {console.log(inputRef.current.scrollWidth,inputRef.current.scrol…

广西两原高校领导同日被通报 违纪违法受严惩

5月30日,中央纪委国家监委网站通报了两名广西高校领导被处理的消息:广西建设职业技术学院原党委副书记、院长吴昆被开除党籍和公职,南宁师范大学原党委书记李丰生被开除党籍。吴昆长期在教育系统工作,曾担任广西建筑科学研究设计院环境艺术专业设计院副院长、广西建设职业技…

成都警方通报持刀伤人事件 感情纠纷引发

成都市公安局锦江区分局于5月30日发布了一则警情通报。当天15时左右,中纱帽街8号负一层发生一起持刀伤人事件。警方接到报警后迅速到场处置,并当场控制了犯罪嫌疑人陆某某,一名26岁的男子。经初步调查,陆某某因感情纠纷前往前女友胡某某的工作单位。胡某某今年24岁,在双方…

临潼公安通报男子跳兵马俑坑 精神疾病患者损毁文物

西安临潼警方通报了一起男子在参观兵马俑时跳入坑内的事件。该事件导致两尊铠甲武士俑受损。2025年5月30日17时30分许,孙某(男,30岁)进入兵马俑景区参观。他翻越遗址坑护栏及防护网,跳至三号坑内推拉陶俑,造成两尊铠甲武士俑(二级文物)不同程度损坏。目前,孙某已被公安…

小米YU7天际屏带墨镜看得清吗 强光下依旧清晰可见

小米YU7汽车配备了天际屏全景显示功能,可以展示车辆实时数据、音乐播放状态和导航信息。针对网友关于强光条件下屏幕清晰度的疑问,官方回应称即使在强光下也能看清楚。该显示屏利用前风挡的下黑区,采用三块Mini LED屏幕将信息反射到前风挡,峰值亮度可达1200nits,并具备全局…

LabVIEW与PLC液压泵测控系统

针对液压泵性能测试场景&#xff0c;采用LabVIEW与西门子 PLC 控制系统&#xff0c;构建高精度、高可靠性的智能测控系统。通过选用西门子 PLC、NI 数据采集卡、施耐德变频电机等&#xff0c;结合LabVIEW 强大的数据处理与界面开发能力&#xff0c;实现液压泵压力、流量、转速等…

男子跳入的兵马俑3号坑已可正常参观 文物受损引关注

2025年5月30日17时30分许,孙某(男,30岁)在参观兵马俑景区时翻越遗址坑护栏及防护网跳入三号坑内推拉陶俑,导致两尊铠甲武士俑(二级文物)不同程度损坏。目前,孙某已被公安机关控制,经调查,孙某患有精神疾病,案件正在进一步办理中。尽管发生了这一事件,兵马俑三号坑在…

行吟中的屈原何以被一次次追念与描绘 艺术长河里的精神共鸣

屈原是端午节民俗的源头之一,其形象在艺术长河中如同一根坚韧的文化丝线,串联起不同时代的精神共鸣。从石刻的简朴勾勒到绢帛的细腻渲染,再到水墨的磅礴写意,屈原的艺术形象演变不仅是技法发展的见证,更是民族精神符号的沉淀与升华。端午节纪念屈原的说法最早见于南朝梁宗…

仰望U8L全新车色首秀 曜石黑配日珥金亮相

比亚迪仰望 U8L 在上个月的 2025 上海车展首次亮相,而在今天开幕的 2025 仰望粤港澳大湾区车展上,比亚迪推出了全新车色——曜石黑配日珥金。这一新配色灵感源自 2000 多年前的黑漆描金工艺,并搭配了由 24K 真金打造的甲骨文黄金车标。车身设计中还加入了日珥金贯穿式饰条、…

电视剧《九门》官宣演员阵容 陈伟霆曾舜晞陈瑶加盟

《九门》电视剧今日公布了主演阵容,由陈伟霆、曾舜晞和陈瑶领衔主演,原著及总监制为南派三叔。陈伟霆,1985年11月21日出生于中国香港,是一位多才多艺的男歌手、演员及主持人。曾舜晞,原名曾威航,1997年10月9日出生于广东省深圳市,是中国内地知名的男歌手与演员。陈瑶则于…

卡塔尔:豪华专机是特朗普主动索要的 白宫“讨要”真相揭晓

美国总统特朗普希望拥有一架新的“空军一号”专机,因为现有的专机已经老旧。据报道,卡塔尔提供了一架豪华的波音747-8飞机。然而,这件事在最近遭到卡塔尔的否认。知情官员表示,卡塔尔要求美国在谅解备忘录中明确该客机的转让是由特朗普政府发起的,卡塔尔不对该客机所有权此…

TestHubo V1.1.0版本发布,新增用例评审功能,提升测试用例质量

TestHubo是一款开源免费的测试管理工具&#xff0c;提供一站式测试解决方案&#xff0c;涵盖功能测试、接口测试、性能测试以及 Web 和 App 测试等多个维度。本周TestHubo V1.1.0版本发布&#xff0c;新增用例评审功能。 1、版本更新日志 新增 ➢ 用例评审&#xff1a;通过评…

使用ray扩展python应用之流式处理应用

流式处理就是数据一来&#xff0c;咱们就得赶紧处理&#xff0c;不能攒批再算。这里的实时不是指瞬间完成&#xff0c;而是要在数据产生的那一刻&#xff0c;或者非常接近那个时间点&#xff0c;就做出响应。这种处理方式&#xff0c;我们称之为流式处理。 流式处理的应用场景…

小米展台发放儿童节福利矿泉水 车展限定好礼相送

2025粤港澳大湾区车展将于5月31日至6月8日在深圳国际会展中心(宝安)举行。展会期间,小米汽车将带来“豪华高性能SUV”YU7的首次亮相,同时展示SU7和SU7 Ultra车型。这些车型将在6号馆06展位展出。观众可以在展台现场体验小米的“人车家全生态”,包括自由体验车辆选配及米家…

端午蕴藏的家国情怀何以愈发鲜活 穿越千年的精神纽带

龙舟竞渡,岁至端午。门前艾蒲青翠,天淡纸鸢漫舞。五月的熏风挟裹着两千年的沉吟,将汨罗江畔的悲怆与荆楚大地的刚烈,酿成中华民族血脉里最醇厚的家国情怀。端午节这个古老节日,在艾香与糯米的缠绵中,跳动着炽热的赤子之心。战国时期的楚国诗人屈原以“长太息以掩涕兮,哀…

科普博主谈安徽山东等地疑现火流星 实为卫星残骸再入大气层

5月30日20:45左右,安徽和山东的许多网友目睹了一道“火光”划过天空。与常见的火流星不同,这道“火光”的移动速度较慢。从一些拍摄较为清晰的视频中可以看到,在这道“火光”旁边还有一道较小的“火光”。烟台莱州的杨先生记录下了这一景象。“尾巴那里碎出来一些小的,十多…

Ubuntu系统入门指南:从操作系统基础到虚拟机安装

知不足而奋进 望远山而前行 目录 前言&#xff1a; ubuntu系统简介 操作系统 1. 操作系统的定义 2.操作系统作用 3. 常见的操作系统 linux内核和发行版本 linux内核 发行版本 vmware安装 1. 准备文件 2. 安装 导入ubuntu虚拟机 1. 准备文件 2. 导入 结尾&#…

增强LangChain交互体验:消息历史(记忆)功能详解

背景 在构建聊天机器人时,将对话状态传入和传出链至关重要。 LangGraph 实现了内置的持久层,允许链状态自动持久化在内存或外部后端(如 SQLite、Postgres 或 Redis)中。在本文我们将演示如何通过将任意 LangChain runnables 包装在最小的 LangGraph 应用程序中来添加持久性…

win10电脑时间同步失败的解决方法

win10电脑时间同步失败 问题如下&#xff1a; 解决方法如下: 搜索里搜索:控制面板&#xff0c;然后选择时钟和区域 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/d734b28553514f6699d559d4218e5e99.png 此处输入:ntp.aliyun.com 然后时间就同步完成了~ 可以…