代码随想录--数组--长度最小的子数组

news/2024/11/30 11:36:10/

给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的 连续 子数组,并返回其长度。如果不存在符合条件的子数组,返回 0。

示例:

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

滑动窗口

就是不断的调节子序列的起始位置和终止位置,从而得出我们要想的结果

public class Min {// 滑动窗口public int minSubArrayLen(int s, int[] nums) {int left = 0;int sum = 0;int result = Integer.MAX_VALUE;for (int right = 0; right < nums.length; right++) {sum += nums[right];while (sum >= s) {result = Math.min(result, right - left + 1);sum -= nums[left++];}}return result == Integer.MAX_VALUE ? 0 : result;}public static void main(String[] args) {Min min = new Min();int[] nums = new int[]{2,3,1,2,4,3};int s = 7;int result = min.minSubArrayLen(s, nums);System.out.println(result);}
}


http://www.ppmy.cn/news/1107370.html

相关文章

浅谈Dead reckoning实现原理以及常用算法

0. 简介 航位推算是一个很常见的定位方法。在知道当前时刻的位置&#xff0c;然后通过imu等传感器去估计下一个时刻的位置。在自动驾驶车辆定位的时候&#xff0c;GPS提供10Hz的定位信息。这每个GPS信息来临的0.1s的间隔里面&#xff0c;车辆位置也会移动很多。那么这个时候就…

代码随想录34|62.不同路径,63. 不同路径 II,343. 整数拆分

62.不同路径 链接地址 class Solution { public:int uniquePaths(int m, int n) {//初始化vector<vector<int>> dp(m, vector<int>(n, 0));for (int i 0; i < m; i) dp[i][0] 1;for (int j 0; j < n; j) dp[0][j] 1;for (int i 1; i < m; i) {…

软件评测师之CPU的构成

目录 一、CPU的构成二、考法考法1&#xff1a;CPU中运算器/控制器的作用考法2&#xff1a;CPU中寄存器的作用考法3&#xff1a;CPU中运算器/控制器的构成考法4&#xff1a;CPU的构成 一、CPU的构成 计算机由输入设备、输出设备、存储器、运算器、控制器组成。中央处理器(CPU)又…

solidworks底部状态栏显示不出来

如下图所示&#xff0c;solidworks主界面下面的状态栏突然不见了。 怎么调出来&#xff1f; 第一步&#xff1a;点击视图菜单&#xff0c;用户界面&#xff0c;把状态栏前的勾勾上。 第二步&#xff1a;把视图下面的触摸模式关掉&#xff0c;这一点很容易被大家忽略。

领域驱动设计:事件风暴构建领域模型

文章目录 事件风暴需要准备些什么&#xff1f;如何用事件风暴构建领域模型&#xff1f; 事件风暴是一项团队活动&#xff0c;领域专家与项目团队通过头脑风暴的形式&#xff0c;罗列出领域中所有的领域事件&#xff0c;整合之后形成最终的领域事件集合&#xff0c;然后对每一个…

平衡二叉树

平衡二叉树的纠正 左左&#xff0c;右右可以解决&#xff0c;左右&#xff0c;右左需要先转换成左左&#xff0c;右右。即递归的解决左左&#xff0c;右右。 红黑树是一种二叉查找树&#xff0c;但不是高度平衡的&#xff0c;平衡二叉树的查找效率很高&#xff0c;但维护平衡二…

Mybatis---动态sql

目录 一、动态sql介绍 二、if &#xff08;1&#xff09;持久层接口方法 &#xff08;2&#xff09;映射文件 &#xff08;3&#xff09;测试方法 三、where 四、set &#xff08;1&#xff09;持久层接口方法 &#xff08;2&#xff09;映射文件 &#xff08;3&…

device or resource busy

最近要删除ubuntu下面的某个文件的时候&#xff0c;突然报错: "device or resource busy", 于是通过 如下命令: lsof | grep /projects/m/CMLR_processed_codeformer_HD/20110330/02313/.nfs0000000001dedb1b00000003 发现是 5953号进程占用了&#xff0c;于是kill…