当前位置: 首页 > news >正文

水果成篮 -- 滑动窗口

目录

一:题目

二:算法原理

三:代码实现


一:题目

题目链接:904. 水果成篮 - 力扣(LeetCode) 

二:算法原理

三:代码实现

class Solution {
public:
    int totalFruit(vector<int>& fruits)
    {
        int cont = 0;
        int ret = 0;
        vector<int> hash;
        hash.resize(fruits.size());

        for (int right = 0, left = 0; right < fruits.size(); right++)
        {
            //进窗口
            if (hash[fruits[right]] == 0)
            {
                cont++;
            }
            hash[fruits[right]]++;


            while (cont > 2)//判断
            {
                //出窗口  
                hash[fruits[left]]--;
                if (hash[fruits[left]] == 0)
                    cont--;
                left++; 
            }

            //更新结果
            ret = max(ret, right - left+1);
        }

        return ret;
    }
};

相关文章:

  • Franka双臂机器人:多领域革新与核心技术深度解析
  • 数组划分使元素总和最接近
  • 如何迁移 GitHub 仓库到 GitLab?
  • 最新版PhpStorm超详细图文安装教程,带补丁包(2025最新版保姆级教程)
  • 三类人解决困境的方法
  • 【项目管理】第5章 信息系统管理 --知识点整理
  • Oracle 表空间高水位收缩全攻略
  • Ubuntu 22.04 AI大模型环境配置及常用工具安装
  • 消息队列(Message Queue)简介
  • AIGC2——AI生成艺术的边界与伦理:艺术性、版权与美学价值的争议
  • 学习海康VisionMaster之多直线查找
  • 使用python访问mindie部署的vl多模态模型
  • 【数据结构】二叉搜索树
  • Android Input——输入子系统(三)
  • C++ Primer Plus 编程练习题 第六章 分支语句和逻辑运算符
  • 544 eff.c:1761处loop vect 分析
  • C++ 基本语法
  • C#/.NET/.NET Core技术前沿周刊 | 第 33 期(2025年4.1-4.6)
  • 【动态规划】 深入动态规划 回文子串问题
  • 浅谈Apache
  • 广东早熟荔枝“抢滩”上海,向长三角消费者喊话:包甜,管够
  • 多家外资看好中国市场!野村建议“战术超配”,花旗上调恒指目标价
  • 习近平举行仪式欢迎巴西总统卢拉访华
  • Manus向全球用户开放注册
  • 体坛联播|安切洛蒂执掌巴西男足,字母哥尝试离开雄鹿
  • 小米SU7 Ultra风波升级:数百名车主要求退车,车主喊话雷军“保持真诚”