本文主要是介绍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;}
}
这篇关于3160. 所有球里面不同颜色的数目(java)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!