错误的代码:

class Solution {public:int totalFruit(vector<int>& fruits) {int start = 0;int end = 0;set<int> myset;int len = 0;for (; end < fruits.size(); end++){myset.insert(fruits[end]);if (myset.size() > 2 && start < end){myset.erase(fruits[start]);start++;myset.insert(fruits[start]);}else {len = max(len, end - start + 1);}}return len;}
};
//最长的连续的只有两种数字的子串。

因为用set会导致数字虽然已经删掉了但是还是在序列当中。

所以需要用一个 unordered_map来记录每个字符出现的次数

int start = 0;int end = 0;unordered_map<int,int> myMap;int len = 0;for (; end < fruits.size(); end++){myMap[fruits[end]]++;while (myMap.size() > 2 && start <= end){myMap[fruits[start]]--;if (myMap[fruits[start]] == 0){myMap.erase(fruits[start]);}start++;}len = max(len, end - start + 1);}return len;

2022-7-8 Leetcode 904.水果成篮相关推荐

  1. LeetCode 904. 水果成篮

    904. 水果成篮 题目:你正在探访一家农场,农场从左到右种植了一排果树.这些树用一个整数数组 fruits 表示,其中 fruits[i] 是第 i 棵树上的水果 种类 . 你想要尽可能多地收集水果 ...

  2. LeetCode 904. 水果成篮【fruit-into-baskets】

    904. 水果成篮 题目详情 题目传送门:904. 水果成篮 在一排树中,第 i 棵树产生 tree[i] 型的水果. 你可以从你选择的任何树开始,然后重复执行以下步骤: 把这棵树上的水果放进你的篮子 ...

  3. 力扣(LeetCode)904. 水果成篮(C语言)

    一.环境说明 本文是 LeetCode 904题 : 水果成篮,使用c语言实现 滑动窗口+哈希集合. 测试环境:Visual Studio 2019 二.代码展示 //滑动窗口+哈希表,一次遍历O(n ...

  4. LeetCode 904. 水果成篮(滑动窗口)

    1. 题目 在一排树中,第 i 棵树产生 tree[i] 型的水果. 你可以从你选择的任何树开始,然后重复执行以下步骤: 把这棵树上的水果放进你的篮子里.如果你做不到,就停下来. 移动到当前树右侧的下 ...

  5. leetcode 904:水果成篮(滑动窗口)

    一:题目 二:思路 1.用两个篮子装进两个数,后面只能装入这两个相同的数,并统计个数;如果遇到其他数,则重新开始计数, 这里的重新开始计数指的是在去除第一个篮子中所装进的数 2.滑动窗口来做 滑动窗口 ...

  6. LeetCode每日一题——904. 水果成篮

    LeetCode每日一题系列 题目:904. 水果成篮 难度:普通 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 你正在探访一家农场,农场从左到右种植了一排果树.这些树用一个整 ...

  7. leetcode 题解 904.水果成篮(Typescript)

    /* * @lc app=leetcode.cn id=904 lang=typescript * * [904] 水果成篮(实质为求最大两元素连续子串) */ //滑动窗口 // @lc code= ...

  8. leetcode:904. 水果成篮

    题目来源 leetcode:904. 水果成篮 题目描述 题目解析 题意 题意从任意位置开始,若最多只能收集两种水果,问最多能收集多少个水果. 这道题目可以理解为求只包含两种元素的最长连续子序列,和l ...

  9. 【042】904. 水果成篮[滑动窗口]

    你正在探访一家农场,农场从左到右种植了一排果树.这些树用一个整数数组 fruits 表示,其中 fruits[i] 是第 i 棵树上的水果 种类 . 你想要尽可能多地收集水果.然而,农场的主人设定了一 ...

最新文章

  1. C++ 复制构造函数或者拷贝构造函数
  2. PyTorch中的数据输入和预处理
  3. 【机器学习入门笔记11:numpy模块实现矩阵的增删改查】20190217
  4. CentOS 安装MySQL rpm方式安装
  5. XML和HTML有什么区别?两者之间有什么关联?
  6. Ambari中Ranger安装
  7. Effective_STL 学习笔记(八) 永不建立 auto_ptr 的容器
  8. 使用JCache缓存方法结果
  9. Java管理商品信息
  10. Android studio Github 断开连接
  11. LoNg wAy tO Go
  12. html+css基础-2-盒子模型、选择器优先级、新增伪元素、display:none
  13. Steam 游戏服务器无法连接 steam 游戏无法启动 打开 microsoft store 错误代码 0x80131500
  14. php poedit怎么debug,php – 使用Poedit与XAMPP
  15. Go语言反射规则 - The Laws of Reflection
  16. c语言实现审查元素,如何删除qq空间说说?一键自动删除QQ空间说说审查元素代码分享(超简单)...
  17. luogu 4234 最小差值生成树 LCT
  18. 网页编程基础第一章知识点总结——Web基础知识
  19. 面试一次问一次,HashMap是该拿下了(一)
  20. 用python对CSV文件中的数据进行统计分析

热门文章

  1. Linux编写简单的脚本
  2. C语言实现流媒体广播项目
  3. c语言递推算法微课,高中数学题型方法100讲[微课视频]
  4. 微软C2030服务器,联想支持Windows 10系统升级机型列表
  5. 物体6D位姿估计方法总结
  6. 模拟cmos集成电路(3)
  7. SAP小技巧 发票校验BAPI调用总结
  8. 软件技术基础(一):绪论
  9. 初入职场,为人处事(社牛勿看)
  10. git+小乌龟安装教程。。