题意:给定一个序列,保持相对顺序不变取有序数对,问一共有多少数对的两个数字相等。
public class Solution
{
public int NumIdenticalPairs(int[] nums)
{
Dictionary<int,int> dt=new Dictionary<int,int>();
foreach(int num in nums)
{
if(!dt.ContainsKey(num))
{
dt.Add(num,1);
}
else
{
dt[num]++;
}
}
int ans=0;
foreach(KeyValuePair<int,int> kvp in dt)
{
ans+=kvp.Value*(kvp.Value-1)/2;
}
return ans;
}
}