LeetCode447 迴旋鏢的數量

2021-08-20 23:12:37 字數 828 閱讀 1546

給定平面上 n 對不同的點,「迴旋鏢」 是由點表示的元組 (i, j, k) ,其中 i 和 j 之間的距離和 i 和 k 之間的距離相等(需要考慮元組的順序)。

找到所有迴旋鏢的數量。你可以假設 n 最大為 500,所有點的座標在閉區間 [-10000, 10000] 中。

示例:輸入:

[[0,0],[1,0],[2,0]]

輸出:

2解釋:

兩個迴旋鏢為 [[1,0],[0,0],[2,0]] 和 [[1,0],[2,0],[0,0]]

解題思路:

1.分別計算每兩個點之間的距離,用二維陣列存起來

2.分別將每個點作為題目元組中的i,找到與i距離相等的點,如果距離相等的點個數count大於1,則總數加上a(count,2)(即為count*(count-1))

class

solution

}//從第乙個點開始

intsum = 0;

for(int i = 0;imap = new hashmap<>();

for(int j = 0;jif(j==i)

continue;

// system.out.println("i:"+i+" j:"+j+" "+lens[i][j]);

if(map.containskey(lens[i][j]))else

}int

count = 0;

for (map.entryentry:map.entryset()) }}

return

sum;

}}

LeetCode447 迴旋鏢的數量

447.迴旋鏢的數量 給定平面上n 對不同的點,迴旋鏢 是由點表示的元組 i,j,k 其中i和j之間的距離和i和k之間的距離相等 需要考慮元組的順序 找到所有迴旋鏢的數量。你可以假設n 最大為500,所有點的座標在閉區間 10000,10000 中。示例 輸入 0,0 1,0 2,0 輸出 2解釋 ...

leetcode447 迴旋鏢的數量

給定平面上 n 對不同的點,迴旋鏢 是由點表示的元組 i,j,k 其中 i 和 j 之間的距離和 i 和 k 之間的距離相等 需要考慮元組的順序 找到所有迴旋鏢的數量。你可以假設 n 最大為 500,所有點的座標在閉區間 10000,10000 中。示例 輸入 0,0 1,0 2,0 輸出 2 解釋...

LeetCode 447 迴旋鏢的數量

給定平面上 n 對不同的點,迴旋鏢 是由點表示的元組 i,j,k 其中 i 和 j 之間的距離和 i 和 k 之間的距離相等 需要考慮元組的順序 找到所有迴旋鏢的數量。你可以假設 n 最大為 500,所有點的座標在閉區間 10000,10000 中。示例 輸入 0,0 1,0 2,0 輸出 2 解釋...