1.使用HashMap記錄鍵值對
2.定義HashMap方式
HashMap<Integer, Integer> map = new HashMap<>();
3.map.put(key,value);輸入鍵值對
4.map.getOrDefault(value,0);獲取值,如果沒有預設為0;
5.map.get(key)取值
6.map.size()鍵值對長度
7.map.replace(key,value)替換key的value值
1 class Solution { 2 public int totalFruit(int[] fruits) { 3 HashMap<Integer, Integer> map = new HashMap<>(); 4 int n=fruits.length; 5 int sum=0; 6 int left=0; 7 for(int right=0;right<n;right++){ 8 map.put(fruits[right],map.getOrDefault(fruits[right],0)+1); 9 while(map.size()>2){ 10 map.replace(fruits[left],map.get(fruits[left])-1); 11 if(map.get(fruits[left])==0){ 12 map.remove(fruits[left]); 13 } 14 left++; 15 } 16 sum=Math.max(sum,right-left+1); 17 } 18 return sum; 19 } 20 }