zoukankan      html  css  js  c++  java
  • LeetCode : K-diff Pairs in an Array

    Given an array of integers and an integer k, you need to find the number of unique k-diff pairs in the array. Here a k-diff pair is defined as an integer pair (i, j), where i and j are both numbers in the array and their absolute difference is k.

    Example 1:
    Input: [3, 1, 4, 1, 5], k = 2
    Output: 2
    Explanation: There are two 2-diff pairs in the array, (1, 3) and (3, 5).
    Although we have two 1s in the input, we should only return the number of unique pairs.
    Example 2:
    Input:[1, 2, 3, 4, 5], k = 1
    Output: 4
    Explanation: There are four 1-diff pairs in the array, (1, 2), (2, 3), (3, 4) and (4, 5).
    Example 3:
    Input: [1, 3, 1, 5, 4], k = 0
    Output: 1
    Explanation: There is one 0-diff pair in the array, (1, 1).

    class Solution {
    public:
        int findPairs(vector<int>& nums, int k) {
            unordered_map<int,int>m;
             int res = 0;
             for(int i=0;i<nums.size();++i){
                 m[nums[i]]++;
             }
             for(auto a:m){
                 if(k==0&&a.second>1)
                    ++res;
                  if(k>0&&m.count(a.first+k))
                    ++res;
             }
            return res;
        }
    };
  • 相关阅读:
    使用Delphi调用条形码控件BarTender打印标签
    我看过的书
    语法规则
    智能家居
    HAL库ADC的DMA采集
    HAL库串口中断接收
    触动心灵的一句话
    摄影技巧
    中国茶道
    单片机延时函数
  • 原文地址:https://www.cnblogs.com/chankeh/p/6850049.html
Copyright © 2011-2022 走看看