题目:2341.数组能形成多少数对

​​题目来源:

        leetcode题目,网址:2341. 数组能形成多少数对 - 力扣(LeetCode)

解题思路:

        使用哈希表对数组中元素及其出现次数计数后对其进行统计即可。

解题代码:

class Solution {
    public int[] numberOfPairs(int[] nums) {
        int[] res=new int[2];
        res[1]=nums.length;
        Map map=new HashMap<>();
        for(int num:nums){
            map.put(num,map.getOrDefault(num,0)+1);
        }
        for(Map.Entry entry:map.entrySet()){
            int temp=entry.getValue();
            res[0]+=temp/2;
        }
        res[1]=res[1]-res[0]*2;
        return res;
    }
}
 
  

总结:

        官方题解使用也是哈希表,但是他在遍历时利用布尔值来判断能否组成数对。


你可能感兴趣的:(#,java,leetcode,java)