企业服饰网站模板,网站建设定制开发价格,资料员报名入口官网,wordpress果酱主题分享一:题目 二:上码
class Solution {
public:/**思路:1.滑动窗口解法1:确定窗口内是什么2:确定窗口的起始位置3:确定窗口的终止位置2.窗口:也就是我们的求的连续字符串的和3.窗口的起始位置: 窗口的起始位置最先是我们数组的起始位置,当窗口内连续数组的和大于targe…一:题目 二:上码
class Solution {
public:/**思路:1.滑动窗口解法1:确定窗口内是什么2:确定窗口的起始位置3:确定窗口的终止位置2.窗口:也就是我们的求的连续字符串的和3.窗口的起始位置: 窗口的起始位置最先是我们数组的起始位置,当窗口内连续数组的和大于target的时候, 起始位置就需要往前移动来缩小我们窗口的大小4.窗口的终止位置: 窗口的终止位置就是我们的数组的下标*/int minSubArrayLen(int target, vectorint nums) {int i 0;//起始位置int length 0;//窗口的大小int ans INT_MAX;int sum 0;for (int j 0; j nums.size(); j) {sum nums[j];while (sum target) {//要开始移动我们窗口的起始位置length (j-i1);//这里加一是因为 我们的j是从0开始的ans ans length ?length :ans;//开始缩小我们的窗口sum - nums[i];} } return ans INT_MAX ? 0 : ans;}
};// class Solution {
// public:
// /**
// 思路:
// 1.暴力解法
// 两层for循环,记录下来 target 的字符串长度。
// 2.超时
// */
// int minSubArrayLen(int target, vectorint nums) {// int length nums.size();
// int ans INT_MAX;// for (int i 0; i length; i) {
// vectorint v;
// for (int j i; j nums.size(); j) {
// v.push_back(nums[j]);
// int sum accumulate(v.begin(),v.end(),0);
// if(sum target) {
// if (ans v.size()) {
// ans v.size();
// } else {
// break;
// }
// }// }
// }// if(ans INT_MAX) return 0;// return ans;
// }
// };