LeetCode刷题滑动窗口(长度最小的子数组)

国内免魔法接入Grok API,打造智能QQ机器人实战指南 大型语言模型(LLM)通过API接口为开发者提供了强大的自然语言处理能力,其核心原理是基于海量数据训练的深度神经网络,能够理解和生成类人文本。这一技术价值在于显著降低了AI应用开发门槛,使开发者无需从零训练模型即可快速集成智能对话、内容生成等功能。在即时通讯、智能客服、自动化工具等应用场景中,LLM API能有效提升交互体验与效率。本文聚焦于如何通过稳定的第三方API服务,绕开网络访问限制,将xAI推出的Grok模型接入国内网络环境,并结合NoneBot2框架与go-cqhttp,实现一个功能完整的智能QQ 阅读详情

滑动窗口的相关知识

一、什么是滑动窗口?

滑动窗口 = 双指针 + 维护一个连续区间。

通过 left 和 right 两个指针维护一个窗口,避免重复计算。

  • right++:扩大窗口,加入新元素。

  • left++:缩小窗口,移除旧元素。

  • sum:记录窗口内元素之和。

二、什么时候使用?

一般满足以下特点:

  1. 连续性:题目要求连续子数组、子串。

  2. 区间性质:需要维护区间的和、长度、字符数量等。

  3. 单调性:窗口扩大或缩小时,能够判断应该移动哪个指针。

常见题型:长度最小的子数组、最长无重复子串、固定长度子数组最大和。

三、怎么用

主要以第一道题来演示

进窗口 → 判断 → 更新结果 → 出窗口

四、为什么滑动窗口是对的?

核心在于 利用单调性,排除不可能的答案。

以正整数数组、寻找和大于等于 target 的最短子数组为例:

  • sum < target:窗口不满足条件,只能扩大窗口。

  • sum >= target:窗口满足条件,记录长度,再尝试缩小窗口。

  • 每次缩小时,已经记录当前答案,因此不会遗漏最优解。

因为数组元素都是正数,扩大窗口只会让和增加,缩小窗口只会让和减少,所以不需要反复回头检查。

五、最后总结

滑动窗口的本质:通过维护连续区间,利用单调性减少重复遍历。

  • 暴力枚举:通常 \(O(n^2)\)

  • 滑动窗口:典型双指针写法 \(O(n)\)

一,长度最小的子数组

解题思路:

首先让 left 和 right 都指向数组开头,通过 right++ 不断扩大窗口,并累加窗口内的元素。当 sum >= target 时,说明当前窗口满足条件,此时更新最短长度,再通过 left++ 缩小窗口,尝试寻找更短的子数组。直到 sum < target,再继续移动 right。整个过程中两个指针都不需要回退,最终得到最短长度 2

代码演示:

    public static int minSubArrayLen(int target, int[] nums) {
        int left=0,sum=0,len=Integer.MAX_VALUE;

        for (int right = 0; right < nums.length; right++) {
            sum+=nums[right];
            while (sum>=target){
                //更新len
                len=Math.min(len,right-left+1);
                sum-=nums[left++];
            }
        }
        return len == Integer.MAX_VALUE ?0 : len;
    }

二,无重复字符串的最长字串

解题思路:

首先让 left 和 right 都指向字符串开头,利用哈希表记录窗口内的字符。通过 right++ 不断扩大窗口,如果新字符没有重复,就加入哈希表并更新最长长度;如果出现重复,就通过 left++ 不断移除左侧字符,直到重复消失。因为之前经过的区间已经判断过,所以两个指针都不需要回退,最终得到最长长度 3

代码演示:

    public static int lengthOfLongestSubstring(String s) {
        int left=0,len=0;
        // 哈希表记录窗口内的字符
        Set<Character> set = new HashSet<>();
        for (int right = 0; right < s.length(); right++) {
            char ch=s.charAt(right);
            while (set.contains(ch)){
                //因为哈希表是记录的当前left与right组成的滑块里面的字符,然后判断是否有重复的,所以我们删除是要从当前窗口的开始一直删除到重复的那一个
                set.remove(s.charAt(left));
                left++;
            }
            set.add(ch);
            len=Math.max(len,right-left+1);
        }
        return len;
    }

图文详解Trae配置Java开发环境 本文介绍了Trae开发工具的安装配置流程:首先从官网下载安装Trae,然后安装Java开发所需的Extension Pack for Java和Spring Boot Extension Pack插件。关键步骤包括修改settings.json配置文件,需指定JDK路径、Maven可执行文件路径和用户设置文件路径。所有操作均配有图示说明,并强调要替换为实际电脑路径。 阅读详情

相关推荐

【渗透工具】内网多级代理工具Venom详细使用教程

Venom是一款为渗透测试人员设计的使用Go开发的多级代理工具。Venom可将多个节点进行连接,然后以节点为跳板,构建多级代理。渗透测试人员可以使用Venom轻松地将网络流量代理到多层内网,并轻松地管理代理节点。

TT小子的博客 3757

【力扣刷题】【滑动窗口算法】长度最小的子数组

上图中,灰色的区间已经是符合条件的区间了,此时黑色指针向右移动一格,如果是暴力算法,红色指针应该重置到黑色指针的位置,然后向右遍历。我们来讨论一下,红色指针有必要重置吗?题目里说数组里的都是正整数,当区间里已经符合条件了,我们还需要把最右边的指针重置到左边吗。2.灰色区间不符合条件,红色指针被重置后遍历,由于整个区间都是正整数,灰色区间的大小只会增加。1.灰色区间依旧符合条件,红色指针被重置然后遍历,依旧是当前的灰色区间。用两个指针,两层循环,列举出所有的结果,把每次符合的最优结果更新到临时变量里。

2301_79796701的博客 483

用Python实现单层感知器:5分钟搞定逻辑与/或/异或分类(附避坑指南)

本文通过Python代码实战,详细讲解了单层感知器的核心原理与实现步骤,5分钟内即可完成逻辑与、或运算的分类任务。文章深入剖析了单层感知器的能力边界,解释了其无法解决异或(XOR)等线性不可分问题的根本原因,并提供了学习率设置、权重初始化等关键避坑指南,帮助初学者直观理解神经网络的基础。

ttt77的博客 1084

leetcode刷题记录——长度最小的子数组( 滑动窗口)

滑动数组

GZW18620285024的博客 946

嵌入式Linux Qt应用程序卡死问题分析记录

根据应用和系统层面的分析,软件功能异常和卡死现象的原因是系统控制台/dev/console阻塞导致依赖其的相关应用和命令异常。系统控制台/dev/console阻塞的原因还未确定,最近的软件版本和其他测试同事未出现该问题,所以很大可能是串口线的问题,待后续有进展了继续更新。

V10_x的博客 1648

【VAE学习笔记】全面通透地理解VAE(Variational Auto Encoder)

完整笔记:http://www.gwylab.com/note-vae.html 李宏毅老师的教程视频:https://www.bilibili.com/video/av15889450/?p=33 —————————————————————————————————   依据李宏毅老师的讲解,我整理了一番VAE的笔记。先简单介绍一下VAE,VAE作为一个生成模型,其基本思路是很容易理解的:把一堆真...

a312863063的博客 14万+

【算法刷题日记】LeetCode 209 长度最小的子数组|滑动窗口经典题

文章摘要 本题考察209.长度最小的子数组问题,要求找到和≥target的最短连续子数组长度。关键思路是使用滑动窗口(双指针)算法,通过动态调整窗口边界实现O(n)时间复杂度。核心步骤:右指针扩展窗口累加和,当和≥target时收缩左指针并更新最小长度。实现时需注意初始化最小长度为数组长度+1,并处理无解时返回0的情况。本题的典型特征(正整数数组、连续子数组最值)是滑动窗口的适用场景,需掌握其模板与边界条件处理。通过此题可强化对双指针和复杂度优化的理解。

2403_83686068的博客 336

【Shader】Unity批量更换Shader

在Unity开发中,因为渲染管线问题,经常会遇到需要大量更改shader的问题,本篇文章讲述批量更换Shader的工具。

憨辰 1468

力扣刷题-滑动窗口-209.长度最小的子数组

3.如果前缀和pre[right]-pre[left]>=target,一直往左缩,直到条件不满足了为止。在这个过程中也要判断。2.如果前缀和pre[right]==target,则比较长度是否是最短,是则更新。1.由题意可知,数组里的数字都大于0,直接把前缀和用数组存起来。4.最后返回return ansL<0?和我的思路差不多,就是没用数组存前缀和。如果不存在符合条件的子数组,返回。找出该数组中满足其总和大于等于。个正整数的数组和一个正整数。这是我自己写,效率有点低。

qq_65318986的博客 337

动态刷新曲线_【GhPython应用】利用反射刷新Image sampler组件

【版权声明】| 作者:月之眼|案例图片来源:Sergiu Radu Pop的facebook| 如有侵权,请联系大水牛平台|如果觉得文章不错,欢迎分享效果展示利用python刷新Image sampler组件,主要的思路就是X输入端:输入要切换的图片路径,我的案例中输入了9张图片。然后通过100毫秒切换一张图片显示,来达到动态显示效果。代码分析run输入端类型:bool (I...

weixin_42393829的博客 532

三种方法教你下载大模型到本地,总有一种适合你

本文主要介绍了下载大模型到本地的三种解决方案,希望能对同学们有所帮助。 文章目录 1. 场景/问题描述 2. 方案一:使用git 3. 方案二:镜像站 4. 方案三:高速下载工具(变体及自定义代码) 4.1 aria2 4.2 自定义代码

weixin_43178406的博客 17万+

LeetCode刷题16:滑动窗口解决209. 长度最小的子数组

LeetCode日常刷题,滑动窗口算法解决问题,Java实现

m0_73879453的博客 553

eCognition易康操作教程(二):多尺度分割基于多光谱数据构建规则集,结合DSM高程数据提取建筑物、树木和绿地

一、数据 数据来源:教程中的实验数据,共包含RGB三个波段,还有数字地表模型(以下简称DSM)文件。 图一 RGB影像 数据特征:数据范围较小,要素种类少,仅包含较多的建筑和大片的绿地。由于建筑的房顶使用的材料和材料颜色不同,所以建筑的光谱特征没有规律,是不连续的特征。而绿地的光谱特征则十分容易分辨。 但是建筑通常具有规则的形状,而且建筑相比于周围其他要素...

蒹葭苍苍 8305

【Leetcode刷题-Python/C++】长度最小的子数组(滑动窗口)

Leetcode刷题_Python_滑动窗口

Magnolia_He的博客 754

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

【LeetCode刷题】滑动窗口思想解决问题:长度最小的子数组、无重复字符的最长子串

滑动窗口思想解决问题:长度最小的子数组、无重复字符的最长子串

认真分享博客,认真分享学习 1333

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

3.26刷题(滑动窗口)

【代码】3.26刷题(滑动窗口)

m0_73030013的博客 235

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

LeetCode刷题---209. 长度最小的子数组(双指针-滑动窗口)

大家好,又见面了,我是夜阑的狗,本文是专栏【LeetCode题解】专栏的第10篇文章,主要讲解是LeetCode209. 长度最小的子数组(双指针-滑动窗口))。【LeetCode题解(持续更新中)】, 此专栏是我是夜阑的狗对LeetCode问题的讲解,希望能够加深自己的印象,以及帮助到其他的小伙伴😉😉。如果文章有什么需要改进的地方还请大佬不吝赐教👏👏。以上就是今天要讲的内容,做题的时候,就是奔着双指针的思路进行解决的,练习这么多次现在逐渐找到了点感觉。

JMFive的博客 836

力扣刷题笔记:滑动窗口(长度最小的子数组&水果成篮&最小覆盖子串)

滑动窗口顾名思义在一段数组中从头至尾选中符合标准子数组,类似于一个滑动的窗口。 i作为窗口起始值,j作为窗口结束值,通过不断移动起始值和终止值来获取所有符合标准的子数组。 滑动窗口法类似于双指针法,本质上是两个不同步指针的使用 做法:首先保持起始值 i=0 不变,不断移动 j 的位置,直到满足标准停下,再移动 i 的位置直到不满足条件以后停止,此时 j 之前的所有满足条件的子数组都完成了遍历,再重复上述操作直至完成对整个数组的遍历。 例:Leetcode 209. 长度最小的子数组 给定一个含有 n 个正

weixin_44971209的博客 437

LeetCode 数组刷题|有序数组的平方 & 长度最小的子数组,双指针 / 滑动窗口深度解析

表格题目双指针类型解题核心技巧有序数组的平方左右双指针(相向)最大值出现在两端,结果数组反向填充长度最小子数组快慢双指针(滑动窗口)右指针扩窗口,左指针缩窗口,找最短连续区间。

jiayang_77的博客 206

Leetcode刷题笔记——209. 长度最小的子数组【滑动窗口(动态)】

题目 思路 首先就想到滑动窗口,这题用常规的滑动窗口能做,但是效率不高。 图片思路来自代码随想录(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#%E6%BB%91%E5%8A%A8%E7%AA%97%E5%8F%A3) 采用动态的滑动窗口,即滑动窗口找到窗口内的内容符合条件时,窗口从左侧开始缩小,每缩小一次判断一次是否还符合条件,若符

weixin_43904469的博客 295

LeetCode刷题-209. 长度最小的子数组

难度:中等⭐️⭐️⭐️⭐️。

快乐的小小程序猿 200

LeetCode刷题笔记(JAVA)——209. 长度最小的子数组(滑动窗口)

class Solution { public int minSubArrayLen(int target, int[] nums) { int minLength = Integer.MAX_VALUE; int length = nums.length; int sum = 0, start = 0, end = 0; if (length == 0) { return 0; }

妙琎的博客 444

刷 leetcode记录第二天【数组: 双指针应用;滑动窗口】

【代码】【无标题】

weixin_46493087的博客 213

力扣刷题——长度最小的子数组

窗口的起始位置如何移动:如果当前窗口的值大于等于s了,窗口就要向前移动了(也就是该缩小了)。窗口的结束位置如何移动:窗口的结束位置就是遍历数组的指针,也就是for循环里的索引。窗口就是 满足其和 ≥ s 的长度最小的 连续 子数组。双层暴力for循环已经超出了时间限制。

~花花~ 254

Day02 - 数组part2 209长度最小的子数组 59螺旋矩阵II

另外,虽然有两个while,但是时间复杂度是O(n)而不是O(n^2)哦,时间复杂度看的是每一个元素被操作的次数。这里每个元素被右指针指到时操作一次,被左指针指到时操作一次,所以时间复杂度是2n,系数忽略,也就是O(n)。:发现很关键的一个点是我没有发现这个子数组是原本的数组的连续的一段“nums_l, nums_(L+1), ....” 下次审题就知道了。差点找到了需要的就return lenf了,忘了要再减掉左边的看看是否依然成立,这样就能找到最小的。这题的python解法不好找,贴一下:​​​​​。

xioko的博客 421

力扣刷题(一)——数组部分

使用练习 二级标题 字体 强调内容 双星号 斜体 单星号 删除线 双波浪线 有序列表 回车自动生成 1+空格 无序列表 加号+空格 Ctrl+T自动生成列表,选择对应的行列数 二级标题 分割线 三个-加回车 插入本地图片拖入即可 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NAb0TaMB-1631672845821)(C:\Users\Tunan\AppData\Roaming\Typora\

North_City_的博客 604
上一篇: LeetCode刷题双指针(有效三角形的个数+三数之和)Java
下一篇: LeetCode刷题滑动窗口(最大连续1的个数三+将x减到0的最小操作数)Java
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值