**Problem Statement:**
You are visiting a farm that has a single row of fruit trees arranged from left to right. The trees are represented by an integer array `fruits` where `fruits[i]` is the type of fruit the `i`th tree produces. You only have two baskets, and each basket can only hold a single type of fruit. Return the maximum number of fruits you can pick.
**Hint / Expected Approach:**
At-most-2-distinct sliding window
**Edge Cases to Consider:**
- (1) Only one type of fruit
- (2) All distinct types
- (3) Length 1 array