問題解決のアイデア:
ドミノ[i]が[0]とドミノに元の配列を横断変数iの手段によって1 [I] [1]ビットの大きな数として10の小さい数、など
新しい配列に最初のステップ2.新しい数字、一方新興デジタルの現在のレコード番号
前記デジタルアレイが0より大きく10未満であるため、新しい番号の最大値は99です。
N *(N-1)/ 2 99 0〜4の番号1は、現在の番号が表示さよりも大きい場合には、全体構成は、計算式で、新しいアレイを横切ります
Oの時間複雑度(N)
宇宙複雑性O(100)
コードの実装:
class Solution {
public int numEquivDominoPairs(int[][] dominoes) {
int len=dominoes.length;
int cnt=0;
int k=0;
int[] res=new int[100];
for(int i=0;i<len;++i){
int temp=0;
//较小的数作为十位,较大的作为个位
if(dominoes[i][0]<dominoes[i][1]){
temp+=dominoes[i][0]*10+dominoes[i][1];
}
else{
temp+=dominoes[i][1]*10+dominoes[i][0];
}
res[temp]++;
}
//找相同的数字的对数
for(int i=0;i<100;++i){
if(res[i]>1){
cnt+=res[i]*(res[i]-1)/2;
}
}
return cnt;
}
}