剑指offer中如何找到大于等于target的最短子数组长度?
- 内容介绍
- 文章标签
- 相关推荐
本文共计516个文字,预计阅读时间需要3分钟。
题目解析思路:双指针(滑动窗口的思想)
1. 初始化词句最短长度为`Integer.MAX_VALUE`。
2.初始化一个数组的和为`0`。
3.定义变量(窗口的前后指针)`i=0`,`j=0`。
4.动态调整窗口大小,计算当前窗口内的和,并更新最短长度。
具体步骤如下:
1. 初始化词句最短长度为`Integer.MAX_VALUE`。
2.初始化一个数组的和为`0`。
3.定义变量`i=0`,`j=0`。
4.循环移动`j`指针,将`nums[j]`加到和`sum`中。
5.当`sum > target`时,移动`i`指针,将`nums[i]`从和`sum`中减去。
6.每次循环,检查当前窗口长度是否小于最短长度,如果是,则更新最短长度。
7.循环结束后,返回最短长度。
力扣题目解题思路:双指针(有点滑动窗口的思想)1.初始话最短数组的长度minInteger.MAX_VALUE2.初始化一个数组的和sum0;3.定义变量(窗口的前后指针)i0j0力扣题目解题思路:双指针(有点滑动窗口的思想)1.初始话最短数组的长度 min = Integer.MAX_VALUE2.初始化一个数组的和 sum = 0;3.定义变量(窗口的前后指针)i=0 j=0 j为快指针4.开始遍历,当sum的值大于等于target时更新min5.缩小窗口范围,加入后边的数组元素。
本文共计516个文字,预计阅读时间需要3分钟。
题目解析思路:双指针(滑动窗口的思想)
1. 初始化词句最短长度为`Integer.MAX_VALUE`。
2.初始化一个数组的和为`0`。
3.定义变量(窗口的前后指针)`i=0`,`j=0`。
4.动态调整窗口大小,计算当前窗口内的和,并更新最短长度。
具体步骤如下:
1. 初始化词句最短长度为`Integer.MAX_VALUE`。
2.初始化一个数组的和为`0`。
3.定义变量`i=0`,`j=0`。
4.循环移动`j`指针,将`nums[j]`加到和`sum`中。
5.当`sum > target`时,移动`i`指针,将`nums[i]`从和`sum`中减去。
6.每次循环,检查当前窗口长度是否小于最短长度,如果是,则更新最短长度。
7.循环结束后,返回最短长度。
力扣题目解题思路:双指针(有点滑动窗口的思想)1.初始话最短数组的长度minInteger.MAX_VALUE2.初始化一个数组的和sum0;3.定义变量(窗口的前后指针)i0j0力扣题目解题思路:双指针(有点滑动窗口的思想)1.初始话最短数组的长度 min = Integer.MAX_VALUE2.初始化一个数组的和 sum = 0;3.定义变量(窗口的前后指针)i=0 j=0 j为快指针4.开始遍历,当sum的值大于等于target时更新min5.缩小窗口范围,加入后边的数组元素。

