从暴力解法到滑动窗口。
从一道基础算法题快速了解滑动窗口,再一道竞赛题快速加深对滑动窗口的理解。
长度最小的子数组
链接:https://leetcode.cn/problems/minimum-size-subarray-sum/description/
暴力解法:直接两层循环遍历出所有区间,取最小长度。结果会是超时的。
class Solution {
public int minSubArrayLen(int target, int[] nums) {
int res = nums.length + 1; // 当然Integer.MAX_VALUE也可以,return判断改一下即可
for (int i = 0,sum = 0; i < nums.length; i++) {
for (int j = i; j < nums.length; j++) {
sum += nums[j];
if (sum >= target) {
res = Math.min(res, j - i + 1);
break;
}
}