问题描述:
样例输入:
代码如下:
package Leetcode;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class NumEquivDominoPairs {
public static int numEquivDominoPairs(int[][] dominoes) {
int len=dominoes.length;
if (len<=1) return 0;
int []dominoe=new int[len];
for (int i = 0; i <len ; i++) {
dominoe[i]=(int)(Math.pow(dominoes[i][0],3)+Math.pow(dominoes[i][1],3));
}
Map<Integer,Integer> map=new HashMap<>();
for (int i = 0; i <len ; i++) {
if (map.containsKey(dominoe[i]))
{
int temp=map.get(dominoe[i]);
temp++;
map.put(dominoe[i],temp);
}
else
{
map.put(dominoe[i],1);
}
}
int count=0;
for(Integer s : map.values()){
count+=(s*(s-1))/2;
}
return count;
}
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
int len=scanner.nextInt();
int [][]dominoes=new int[len][2];
for (int i = 0; i <len ; i++) {
for (int j = 0; j <2 ; j++) {
dominoes[i][j]=scanner.nextInt();
}
}
System.out.println(numEquivDominoPairs(dominoes));
}
}
运行结果如下: