【滑动窗口】长度最小的数组

长度最小的数组

长度最小的数组

文章目录

  • 长度最小的数组
    • 题目描述
    • 解法
      • 暴力解法
      • 滑动窗口
        • Java示例代码
        • c++示例代码

题目描述

给定一个含有 n 个正整数的数组和一个正整数 target

找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度**。**如果不存在符合条件的子数组,返回 0

示例 1:

输入:target = 7, nums = [2,3,1,2,4,3]
输出:2
解释:子数组 [4,3] 是该条件下的长度最小的子数组。

示例 2:

输入:target = 4, nums = [1,4,4]
输出:1

示例 3:

输入:target = 11, nums = [1,1,1,1,1,1,1,1]
输出:0

解法

暴力解法

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

class Solution {public int minSubArrayLen(int target, int[] nums) {int result = Integer.MAX_VALUE;for(int i = 0; i < nums.length; i++){int sum = 0;for(int j = i; j < nums.length; j++){sum += nums[j];if(sum >= target){result = Math.min(result,j - i + 1);break;}}}return result == Integer.MAX_VALUE ? 0 : result;}
}

这种做法可以很容易想到,可是谁想到它…

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

超时了哈哈😓😓😓😓😓😓😓😓


那么下面我们看看另外一种思路。

滑动窗口

先看示例代码:

Java示例代码
class Solution {public int minSubArrayLen(int target, int[] nums) {int result = Integer.MAX_VALUE;int i = 0;int sum = 0;int length = 0;for(int j = 0; j < nums.length; j++){sum += nums[j];while(sum >= target){length = j - i + 1;result = Math.min(result,length);sum -= nums[i++];}}return result == Integer.MAX_VALUE ? 0 : result;}
}

下面见分析:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

c++示例代码
class Solution
{
public:int minSubArrayLen(int target, vector<int>& nums){int n = nums.size(), sum = 0, len = INT_MAX;for (int left = 0, right = 0; right < n; right++){sum += nums[right]; // 进窗⼝while (sum >= target) // 判断{len = min(len, right - left + 1); // 更新结果sum -= nums[left++]; // 出窗⼝}}return len == INT_MAX ? 0 : len;}
};

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

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

相关文章

学习笔记:Pytorch 搭建自己的Faster-RCNN目标检测平台

B站学习视频 up主的csdn博客 1、什么是Faster R-CNN 2、pytorch-gpu环境配置&#xff08;跳过&#xff09; 3、Faster R-CNN整体结构介绍 Faster-RCNN可以采用多种的主干特征提取网络&#xff0c;常用的有VGG&#xff0c;Resnet&#xff0c;Xception等等。 Faster-RCNN对输入…

IPv6地址介绍

当前我国的网络正在快速向IPv6升级中&#xff0c;从网络基础设施如运营商骨干网、城域网&#xff0c;到互联网服务商如各类云服务&#xff0c;以及各类终端设备厂商如手机、电脑、路由器、交换机等。 一、网络IP地址 IP地址是英文Internet Protocol的缩写&#xff0c;是网络之…

Parasoft:正确的静态应用程序安全测试 (SAST) 解决方案

随着软件开发从Web应用扩展到工业物联网&#xff08;IIoT&#xff09;设备&#xff0c;静态应用安全测试&#xff08;SAST&#xff09;越来越有必要从根本上帮助确保软件的功能安全。根据 Forrester Research的研究&#xff0c;网络攻击是近两年安全漏洞的主要来源。因此&#…

conan入门(三十一):在命令行(shell)中从profile中读取配置参数

最近使用conan来执行本地或交叉编译时&#xff0c;我发现我需要知道当前profile定义的编译器的类型和版本以及平台&#xff0c;希望用profile中定义的os,arch,compier生成安装路径名如windows-msvc-x86_64&#xff0c;该怎么实现呢&#xff1f; conan profile show 基本的思路…

【AI】【工具】五个推荐的AI视频制作工具

【详细视频介绍】 https://www.bilibili.com/video/BV1aH4y11752/ 【DESCRIPT】 直接在线使用 用修改文档的方法来编辑视频。 导入视音频文件后Descript会生成相应的描述文档&#xff0c;通过修改此文档你就可以实时获得修改后的视频和音频。 自动加字幕当然也很方便。 还带…

行业研究:2023年建筑涂料市场需求及发展方向分析

目前绿色化经济成为社会经济主旋律&#xff0c;涂料行业作为高污染行业&#xff0c;国家层面出台了一系列政策规划引导行业向绿色、安全、环保发展。例如&#xff0c;禁止使用高VOCs含量的溶剂型涂料&#xff0c;推广水性涂料等低VOCs含量涂料&#xff0c;鼓励外商投资高性能涂…

14.docker部署应用的两种企业实践

1.介绍 1.1 说明 这里仅仅说明一下在企业应用的两种简单实践&#xff0c;并不包含自动化这套东西。这里说的两种实践&#xff0c;是我在工作中不同公司使用的两种部署方式&#xff0c;仅供大家参考。 1.2 两种部署方式 第一种&#xff1a;是把环境和app都一起打成一个镜像&…

说说和的区别。

&和&&都可以用作逻辑与的运算符&#xff0c;表示逻辑与&#xff08;and&#xff09;&#xff0c;当运算符两边的表达式的结果都为true时&#xff0c;整个运算结果才为true&#xff0c;否则&#xff0c;只要有一方为false&#xff0c;则结果为false。 &&还…

软考知识点介绍--Redis数据库

软考知识点介绍--Redis数据库 一、公务员考试报考条件 在2018年的数据库系统工程师的考试中&#xff0c;出现了下面这道选择题&#xff1a; Redis是一种NoSQL数据库&#xff0c;具体地说&#xff0c;是________________存储数据库。 &#xff08;A&#xff09;键-值 &#…

MongoDB快速入门及其SpringBoot实战

MongoDB快速入门及其SpringBoot实战 MongoDB简介 MongoDB 是一个基于分布式文件存储的数据库。由 C 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个开源、高性能、无模式的文档型数据库&#xff0c;当初的设计就是用于简化开发和方便扩展&am…

单体架构demo

idea 新建maven项目 1、外层pom.xml 2、jar 包pom.xml 3、主要pom.xml 这个打包插件放在有main 启动模块中 <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifact…

跨境独立站是什么?跨境电商独立站的作用又是什么?

跨境独立站是一种面向海外消费者的跨境电商交易模式&#xff0c;由卖家自己搭建或使用第三方平台搭建的网站进行交易&#xff0c;不需要依赖任何中介或平台。具体而言&#xff0c;跨境电商独立站是独立于其他大型电商平台存在的网站&#xff0c;通常是通过建立自己的电商平台来…

Windows系统IIS服务配置与网站搭建,结合内网穿透实现公网访问

文章目录 1.前言2.Windows网页设置2.1 Windows IIS功能设置2.2 IIS网页访问测试 3. Cpolar内网穿透3.1 下载安装Cpolar内网穿透3.2 Cpolar云端设置3.3 Cpolar本地设置 4.公网访问测试5.结语 1.前言 在网上各种教程和介绍中&#xff0c;搭建网页都会借助各种软件的帮助&#xf…

玻色量子企业荣誉

2023年 2023.7 玻色量子创始人&COO马寅荣获“优秀共产党员”荣誉称号 2023.4 斩获“双金”&#xff01;玻色量子在中国移动第七届创客马拉松大赛脱颖而出 2023.1 再创佳绩&#xff01;玻色量子荣膺2022年德勤中国“朝阳明日之星” 2023.1 玻色量子荣为第二届朝阳区“…

如何实现快速排序

1 问题 在我们学习Python过程中&#xff0c;会经常遇到很多数值&#xff0c;在一些题目中会让我们进行简单的排序&#xff0c;但如果数值变多&#xff0c;那么我们如何用更简单的方法实现这些数值快速排序呢&#xff1f; 2 方法 快速排序主要思想为取数组中一个数作为基准值&am…

Vue基本使用(一)

&#x1f4d1;前言 本文主要是【Vue】——Vue基本使用的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他 &#x1f304;每日一句&#x…

SSH基础和高级用法

SSH基础和高级用法 SSH&#xff08;Secure Shell&#xff09;是一种安全协议&#xff0c;用于在不安全的网络上提供安全的远程登录和数据传输。以下是一些SSH的用法和高级用法&#xff1a; 基本用法&#xff1a; 远程登录&#xff1a;使用ssh命令可以实现在本地计算机上远程…

网站域名前出现小锁标志是什么情况?有什么影响吗?

在浏览网页时&#xff0c;我们经常会在某些网站域名前面发现小锁标志&#xff0c;而有的网站则没有&#xff0c;这是什么原因造成的呢&#xff1f;这两种情况有什么区别吗&#xff1f; 网站域名前出现小锁是什么情况&#xff1f; 如果仔细观察就会发现域名前面有小锁的网站是…

Spring的事务传播行为

文章目录 说一下Spring的事务传播行为 今天来和大家聊聊spring中使用的事务传播行为&#xff0c; 说一下Spring的事务传播行为 spring事务的传播行为说的是&#xff0c;当多个事务同时存在的时候&#xff0c;spring如何处理这些事务的行为。 ① PROPAGATION_REQUIRED&#xf…

CVE-2023-25573:MeterSphere 任意文件下载漏洞复现[附POC]

文章目录 MeterSphere 任意文件下载&#xff08;CVE-2023-25573&#xff09;漏洞复现[附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议 MeterSphere 任意文件下载&#xff08;CVE-2023-25573&#xff09;漏洞…