class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param target int整型 * @param nums int整型vector * @return int整型 */ int findMinSubarrayLength(int target, vector<int>& nums) { // write code here int n = nums.size(); int l = 0, sum = 0; int minn = 0x3f3f3f3f; for (int i = 0; i < n; ++i) { sum += nums[i]; while (sum >= target) { minn = min(minn, i - l + 1); sum -= nums[l]; ++l; } } if (minn == 0x3f3f3f3f) return 0; else return minn; } };
一、题目考察的知识点
滑动窗口
二、题目解答方法的文字分析
利用滑动窗口的移动寻找,直到窗口内的元素和大于给定目标的战斗值即可,然后不断缩小窗口的长度
三、本题解析所用的编程语言
c++