zoukankan      html  css  js  c++  java
  • #Leetcode# 209. Minimum Size Subarray Sum

    https://leetcode.com/problems/minimum-size-subarray-sum/

    Given an array of n positive integers and a positive integer s, find the minimal length of a contiguous subarray of which the sum ≥ s. If there isn't one, return 0 instead.

    Example: 

    Input: s = 7, nums = [2,3,1,2,4,3]
    Output: 2
    Explanation: the subarray [4,3] has the minimal length under the problem constraint.
    Follow up:
    If you have figured out the O(n) solution, try coding another solution of which the time complexity is O(n log n). 

    $O(n)$ 代码:

    class Solution {
    public:
        int minSubArrayLen(int s, vector<int>& nums) {
            if(nums.empty()) return 0;
            int n = nums.size();
            int cnt = n + 1;
            int R = 0, L = 0, sum = 0;
            while(R < n) {
                while(sum < s && R < n)
                    sum += nums[R ++];
                
                while(sum >= s) {
                    cnt = min(cnt, R - L);
                    sum -= nums[L ++];
                }
            }
            
            if(cnt == n + 1) return 0;
            return cnt;
        }
    };
    View Code

    $O(n^2)$ 代码:

    class Solution {
    public:
        int minSubArrayLen(int s, vector<int>& nums) {
            if(nums.empty()) return 0;
            int n = nums.size();
            int cnt = n + 1;
            
            for(int i = 0; i < n; i ++) {
                int temp = i;
                int ans = 0;
                while(ans < s && temp < n) {
                    ans += nums[temp];
                    temp ++;
                }
                if(ans < s) continue;
                else cnt = min(cnt, temp - i);
            }
            if(cnt == n + 1) return 0;
            return cnt;
        }
    };
    View Code
  • 相关阅读:
    Qt ini文件
    Qt我的文档 桌面路径
    windows zlib库编译步骤
    环形缓冲区
    openssl生成随机数
    怎样安装Scrapy
    CentOS7怎样安装GoAccess1.3
    Docker创建数据卷容器
    Docker创建数据卷
    Docker创建容器
  • 原文地址:https://www.cnblogs.com/zlrrrr/p/10045774.html
Copyright © 2011-2022 走看看