博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
#Leetcode# 209. Minimum Size Subarray Sum
阅读量:5093 次
发布时间:2019-06-13

本文共 1559 字,大约阅读时间需要 5 分钟。

 

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: 2Explanation: 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
& 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
& 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

 

转载于:https://www.cnblogs.com/zlrrrr/p/10045774.html

你可能感兴趣的文章
Java基础之ArrayList与LinkedList、Vector,以及HashMap与HashTable的区别
查看>>
网络爬虫初步:从一个入口链接开始不断抓取页面中的网址并入库
查看>>
iOS archive(归档)的总结 (序列化和反序列化,持久化到文件)
查看>>
python第九天课程:遇到了金角大王
查看>>
字符串处理
查看>>
ECharts(Enterprise Charts 商业产品图表库)初识
查看>>
LeetCode Factorial Trailing Zeroes (阶乘后缀零)
查看>>
hdu 5402 Travelling Salesman Problem (技巧,未写完)
查看>>
[AIR] 获取U盘,打开U盘
查看>>
HtmlUnitDriver 网页内容动态抓取
查看>>
django url 路由设置技巧
查看>>
三言两语说清“线性流程”
查看>>
(转)虚函数和纯虚函数区别
查看>>
ad logon hour
查看>>
获得进程可执行文件的路径: GetModuleFileNameEx, GetProcessImageFileName, QueryFullProcessImageName...
查看>>
证件照(1寸2寸)拍摄处理知识汇总
查看>>
Git入门简介
查看>>
eclipse里maven install时,报错提示jdk为无效的目标版本:1.7
查看>>
罗马数字与阿拉伯数字转换
查看>>
Eclipse 反编译之 JadClipse
查看>>