栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

数组-滑动窗口?

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数组-滑动窗口?

题目链接:209. 长度最小的子数组 - 力扣(LeetCode)
class Solution {
public:
    int minSubArrayLen(int target, vector& nums) {
        // start指向子数组开头,end指向组数组结尾的下一个
        int start = 0, end = 0;
        int len = nums.size();
        // minLen指最小长度,sum=子数组的和
        int minLen = 0, sum = 0;
        // 当子数组中有元素时
        while (start <= end)
        {
            // 如果和target,记录下现在子数组的长度,并开始新一轮子数组计算,start++
            else
            {
                int currentLen = end - start;
                if (minLen == 0)
                {
                    minLen = currentLen;
                }
                else if (minLen > currentLen)
                {
                    minLen = currentLen;
                }
                sum -= nums[start];
                start++;
            }
        }
        return minLen;
    }
};
题目链接:904. 水果成篮 - 力扣(LeetCode)

看了一下别人的答案,发现同样的思路我比人家代码量多一倍,既不熟悉API又啰嗦

class Solution {
public:
    // 按理说,用注释里的代码代替下一行是一样的,但是不行
    // 我这虽然写出来了但是估计路绕大了
    int totalFruit(vector& fruits) {
        // 几个篮子装水果
        int typeNum=0;
        // 两个篮子
        int type1 = 0, type2 = 0;
        int start = 0, end = 0;
        // 存放收集水果的最大数目
        int maxLen = 0;
        // 存放当前收集水果的数目
        int currentLen = 0;
        int len = fruits.size();
        // 当水果树未完全遍历完毕
        while (end maxLen)
            {
                maxLen = currentLen;
            }
        }
        return maxLen;
    }
};
题目链接:76. 最小覆盖子串 - 力扣(LeetCode)

先放个链接,后期学了哈希表再来

怎么说呢,一个月前还用过unordered_map现在忘得一干二净

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/883159.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号