1654852604701.png

    1. var totalFruit = function(fruits) {
    2. let len =fruits.length
    3. let l =0
    4. let n =0 //记录每次更新水果的位置
    5. let bucket =[fruits[0]] //初始水果篮子
    6. let res =0
    7. for(let r =0;r<len;r++){
    8. if(!bucket.includes(fruits[r])){
    9. // 如果篮子里没有这个水果
    10. if(bucket.length<=1){
    11. // 篮子里水果种类不足2,添加至篮子中
    12. bucket[1] =fruits[r]
    13. }else{
    14. // 篮子里已有2种水果,需要更新
    15. l =n //更新第一种水果的起始位置
    16. bucket[0] =fruits[r-1]
    17. bucket[1] =fruits[r]
    18. }
    19. }
    20. // 每次出现新水果,就更新n
    21. if(fruits[r]!==fruits[n]){
    22. n =r
    23. }
    24. res =res>r-l +1?res:r-l+1
    25. }
    26. return res
    27. };