[leetcode] 209 Minimum Size Subarray Sum
来源:互联网 发布:郑州数据分析师工资 编辑:程序博客网 时间:2024/05/16 17:18
(一)O(logN)的解法
首先将原数组处理成前项和的形式,这样就保证了数组的有序(注意第一个是0,自己push进去),然后遍历数组,寻找小于等于sum[i]+s的最小的下标,如果找不到,那么break结束。否则继续下去,最后取最小值。
class Solution {public: int minSubArrayLen(int s, vector<int>& nums) { vector<int> sum; int ans=100000000,temp=0; sum.push_back(0); for(int i=0;i<nums.size();i++) { temp+=nums[i]; sum.push_back(temp); } for(int i=0;i<sum.size();i++) { int n=lower_bound(sum.begin(),sum.end(),s+sum[i])-sum.begin(); if(n==sum.size()) break; ans=min(ans,n-i); } if(ans==100000000) return 0; else return ans; }};(二) O(N)的解法
两个指针, start end, end向后走,直到 sum 大于 s. 然后start向后, 直到sum 小于s. 同时更新 min值。类似于滑动窗口的形式。
public class Solution { //1,1,4 public int minSubArrayLen(int s, int[] nums) { //init check int start = 0; int end = 0; int sum = 0; int min = Integer.MAX_VALUE; while(start<nums.length && end<nums.length) { while(sum<s && end<nums.length) { sum += nums[end++]; } while(sum>=s && start<=end) { min = Math.min(min, end-start); sum -= nums[start++]; } } return min==Integer.MAX_VALUE ? 0 : min; }}
1 0
- [Leetcode 209, Medium] Minimum Size Subarray Sum
- LeetCode 209 - Minimum Size Subarray Sum
- leetcode 209 : Minimum Size Subarray Sum
- Leetcode NO.209 Minimum Size Subarray Sum
- leetcode-209 Minimum Size Subarray Sum
- Minimum Size Subarray Sum - LeetCode 209
- Leetcode #209 Minimum Size Subarray Sum
- Leetcode 209 Minimum Size Subarray Sum
- LeetCode(209)Minimum Size Subarray Sum
- [leetcode-209]Minimum Size Subarray Sum(java)
- leetcode 209: Minimum Size Subarray Sum
- [leetcode] 209 Minimum Size Subarray Sum
- [LeetCode 209] Minimum Size Subarray Sum
- LeetCode 209 Minimum Size Subarray Sum
- 【LeetCode-209】Minimum Size Subarray Sum
- LeetCode-209:Minimum Size Subarray Sum
- LeetCode 209: Minimum Size Subarray Sum
- LeetCode 209 Minimum Size Subarray Sum
- 高质量就是高效率
- 上下文(context)ActionContext介绍(在Struts2中)
- hdoj 4786 Fibonacci Tree 【最小生成树&&最大生成树】
- ASCII,Unicode和UTF-8
- 学习《算法导论》第十一章 散列表 总结二
- [leetcode] 209 Minimum Size Subarray Sum
- 顺序队列
- 關於時間的考慮
- uva12186 Another Crisis
- HashSet集合存储自定义对象细节
- PS简介
- 关于 const char* p , char const* p 以及 char * const p
- iOS分页控制器
- 信息的存储和表示