Fruit Into Baskets LeetCode solution in JavaScript
1var totalFruit = function (fruits) {2let myFruits = {};3let n = fruits.length;4let windowStart = 0;5let ans = -Number.MAX_VALUE;67for (let windowEnd = 0; windowEnd < n; windowEnd++) {8let fruit = fruits[windowEnd];910if (fruit in myFruits) {11myFruits[fruit]++;12} else {13myFruits[fruit] = 1;14}1516while (Object.keys(myFruits).length > 2) {17let throwOut = fruits[windowStart];18myFruits[throwOut]--;19if (myFruits[throwOut] == 0) {20delete myFruits[throwOut];21}22windowStart++;23}24ans = Math.max(ans, windowEnd - windowStart + 1);25}26return ans;27};