长度最小的子数组

看了一个很好的解法,来分享一下:

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

方法:指针碰撞法

定义二个指针 l r 

int minSubArrayLen(int target, int* nums, int numsSize) {

    int l = 0;

    int r = -1;//为什么会使用-1 因为下面使用的是++r ,并且可以防止越界

    int sum = 0;

    int minLen = numsSize + 1;//将minLen设置为最大值+1,方便判断返回0的情况

    while( l != numsSize )

    {//z注意r最大只能在numsSize-1处的下标

        if( r + 1 != numsSize && sum < target )  sum += nums[++r];

        else sum-= nums[l++];

        if( sum >= target )//注意是>=因为==时,仍要判断是否满足情况

            minLen = fmin(minLen,r-l+1);

    }

    if( minLen == numsSize + 1 )

        return 0;

    else return minLen;

}

相关推荐

  1. 209.长度数组

    2024-03-24 01:12:02       37 阅读
  2. 209. 长度数组

    2024-03-24 01:12:02       49 阅读
  3. 长度数组

    2024-03-24 01:12:02       38 阅读
  4. 长度数组

    2024-03-24 01:12:02       23 阅读
  5. 209. 长度数组

    2024-03-24 01:12:02       8 阅读
  6. 力扣209-长度数组

    2024-03-24 01:12:02       41 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-24 01:12:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-24 01:12:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-24 01:12:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-24 01:12:02       20 阅读

热门阅读

  1. 使用python脚本查询mysql的gtid和主从信息

    2024-03-24 01:12:02       23 阅读
  2. 探秘MySQL InnoDB引擎:数据存储原理与高级实践

    2024-03-24 01:12:02       20 阅读
  3. 设计模式之工厂方法

    2024-03-24 01:12:02       20 阅读
  4. MVC设计模式的详解及应用

    2024-03-24 01:12:02       22 阅读
  5. C#面:简述 .NET Framework 类库中的“命名空间”

    2024-03-24 01:12:02       16 阅读
  6. Golang基础 Label标签与goto跳转

    2024-03-24 01:12:02       17 阅读
  7. 学习笔记--第二章WebGIS开发基础

    2024-03-24 01:12:02       19 阅读
  8. springBoot 常用注解

    2024-03-24 01:12:02       17 阅读
  9. perl:获取同花顺数据--业绩快报,业绩公告

    2024-03-24 01:12:02       16 阅读
  10. WebGoat通关详解

    2024-03-24 01:12:02       17 阅读
  11. RTOS--TCB任务控制块

    2024-03-24 01:12:02       18 阅读
  12. 如何查看Linux的发行版本

    2024-03-24 01:12:02       19 阅读