请实现一个算法:给定一个整数数组 fruits,表示一棵树上水果的类型,你只有两个篮子,每个篮子只能装一种类型的水果。从任意位置开始采摘,每棵树只能采一个水果,且一旦开始采摘就必须连续采摘,直到你遇到第三种类型的水果时停止。求你能收集到的最大水果数量。
考察说明
考察对滑动窗口双指针算法的理解和实现能力
回答思路
- 能识别这是一个最多包含两种不同元素的连续子数组问题
- 能正确使用滑动窗口或双指针维护窗口内最多两种类型
- 能正确处理计数和窗口收缩逻辑
- 能给出 O(n) 时间复杂度和 O(1) 空间复杂度的实现
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。