深圳网站建制作百度快快速排名
题目来源:
leetcode题目,网址:2341. 数组能形成多少数对 - 力扣(LeetCode)
解题思路:
使用哈希表对数组中元素及其出现次数计数后对其进行统计即可。
解题代码:
class Solution {public int[] numberOfPairs(int[] nums) {int[] res=new int[2];res[1]=nums.length;Map<Integer,Integer> map=new HashMap<>();for(int num:nums){map.put(num,map.getOrDefault(num,0)+1);}for(Map.Entry<Integer,Integer> entry:map.entrySet()){int temp=entry.getValue();res[0]+=temp/2;}res[1]=res[1]-res[0]*2;return res;}
}
总结:
官方题解使用也是哈希表,但是他在遍历时利用布尔值来判断能否组成数对。