3160. 所有球里面不同颜色的数目(java)
3160. 所有球里面不同颜色的数目(java)
Java hashmap的merge方法:
1.merge是直接运行修改的,比如 if(colors.merge(curc,-1,Integer::sum)==0) ,不论结果真假,这个curc对应的值已经减一了。
2.字典的size和remove方法;
3. HashMap<Integer,Integer> balls = new HashMap<Integer,Integer>();这个字典中的值想修改得变成int类型。
class Solution {public int[] queryResults(int limit, int[][] queries) {HashMap<Integer,Integer> colors = new HashMap<Integer,Integer>();HashMap<Integer,Integer> balls = new HashMap<Integer,Integer>();int [] ans= new int[queries.length];for(int i=0;i<queries.length;i++){int ball=queries[i][0];int color=queries[i][1];if(balls.containsKey(ball)){int curc=balls.get(ball);if(colors.merge(curc,-1,Integer::sum)==0) colors.remove(curc); }balls.put(ball,color);colors.merge(color,1,Integer::sum);ans[i]=colors.size();}return ans;}
}