买过域名之前就可以做网站了吗,太原市网站制作,湛江做网站设计公司,ppt设计灵感904. 水果成篮 原题链接#xff1a;完成情况#xff1a;解题思路#xff1a;参考代码#xff1a;_904水果成篮_滑动窗口 错误经验吸取 原题链接#xff1a;
904. 水果成篮
https://leetcode.cn/problems/fruit-into-baskets/description/
完成情况#xff1a; 解题思… 904. 水果成篮 原题链接完成情况解题思路参考代码_904水果成篮_滑动窗口 错误经验吸取 原题链接
904. 水果成篮
https://leetcode.cn/problems/fruit-into-baskets/description/
完成情况 解题思路
该函数的目的是计算在给定整数数组fruits中进行一次连续的采摘过程中可以采摘的水果总数。在这个函数中先定义整数n为数组fruits的长度然后使用Map类型的count来记录每种水果的数量。接着定义左指针left和结果result并对结果进行初始化为0。在具体实现中通过循环遍历数组fruits不断更新count中不同水果的数量并根据条件来更新左指针和结果result最终返回结果result。
参考代码
_904水果成篮_滑动窗口
package leetcode板块;import java.util.HashMap;
import java.util.Map;public class _904水果成篮_滑动窗口 {/*** 找连续最长绝对值不超过2的子数组长度* param fruits* return*/public int totalFruit(int[] fruits) {// TODO 进行一次连续的采摘即连续字符串/*1 fruits.length 10^50 fruits[i] fruits.length*/int n fruits.length;MapInteger, Integer count new HashMapInteger, Integer();int left 0,result 0;for (int right 0; right n;right){ //从右往左去逼近count.put(fruits[right],count.getOrDefault(fruits[right],0)1); //右边类别统计计数//左边开始指针移动while (count.size() 2){ //只需要保证是两类水果就行size 2 即可。count.put(fruits[left],count.get(fruits[left]) - 1);if (count.get(fruits[left]) 0){count.remove(fruits[left]);}left;}result Math.max(result,right - left 1);}return result;}
}
错误经验吸取