zoukankan      html  css  js  c++  java
  • LeetCode:长度最小的子数组

    长度最小的子数组

    要求

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

    思路

    利用双指针,对比俩指针之间的和值与目标值的对比,并且记录下标差值,遍历结束后输出最小差值或0。

    示例

    class Solution {
    public:
        int minSubArrayLen(int s, vector<int>& nums) {
            if(nums.empty())return 0;
            int sum=0;
            int count=0;
            for(int i=0;i<nums.size();++i){
                sum=0;
                for(int k=i;k<nums.size();++k){
                    if(sum<s){
                        sum+=nums[k];
                    }
                    if(sum>=s)
                    {
                        if(k-i<count||count==0){
                            count=k-i+1;
                        }
                        break;
                    }
                }
            }
            return count;
        }
    };
    ###题目链接
    <https://leetcode-cn.com/explore/featured/card/array-and-string/201/two-pointer-technique/789/>
    
    持之以恒的学习,方是进步的唯一途径!
  • 相关阅读:
    三维形体的表面积
    访问所有点的最小时间
    链式队列
    顺序队列
    链栈
    顺序栈
    双向链表
    pyrhon 开始 基础类型
    GDI+_VB6_ARGB
    WindowsPhone自定义控件详解(一)
  • 原文地址:https://www.cnblogs.com/breezy-ye/p/12753834.html
Copyright © 2011-2022 走看看