給你乙個由 不同 正整數組成的陣列 nums ,請你返回滿足 a * b = c * d 的元組 (a, b, c, d) 的數量。其中 a、b、c 和 d 都是 nums 中的元素,且 a != b != c != d 。
示例 1:
輸入:nums = [2,3,4,6]
輸出:8
解釋:存在 8 個滿足題意的元組:
(2,6,3,4) , (2,6,4,3) , (6,2,3,4) , (6,2,4,3)
(3,4,2,6) , (3,4,2,6) , (3,4,6,2) , (4,3,6,2)
示例 2:
輸入:nums = [1,2,4,5,10]
輸出:16
解釋:存在 16 個滿足題意的元組:
(1,10,2,5) , (1,10,5,2) , (10,1,2,5) , (10,1,5,2)
(2,5,1,10) , (2,5,10,1) , (5,2,1,10) , (5,2,10,1)
(2,10,4,5) , (2,10,5,4) , (10,2,4,5) , (10,2,4,5)
(4,5,2,10) , (4,5,10,2) , (5,4,2,10) , (5,4,10,2)
示例 3:
輸入:nums = [2,3,4,6,8,12]
輸出:40
示例 4:
輸入:nums = [2,3,5,7]
輸出:0
from typing import *
from collections import defaultdict
class solution:
def tuplesameproduct(self, nums: list[int]) -> int:
cnts=defaultdict(lambda :0)
for i in range(len(nums)):
for j in range(i+1,len(nums)):
cnts[nums[i]*nums[j]]+=1
res=0
for i in cnts:
if cnts[i]>1:
res+=cnts[i]*(cnts[i]-1)*4
return res
1726 同積元組
題目描述 給你乙個由 不同 正整數組成的陣列 nums 請你返回滿足 a b c d 的元組 a,b,c,d 的數量。其中 a b c 和 d 都是 nums 中的元素,且 a b c d 示例 1 輸入 nums 2,3,4,6 輸出 8 解釋 存在 8 個滿足題意的元組 2,6,3,4 2,6,...
leetcode 遞迴 687 最長同值路徑
給定乙個二叉樹,找到最長的路徑,這個路徑中的每個節點具有相同值。這條路徑可以經過也可以不經過根節點。注意 兩個節點之間的路徑長度由它們之間的邊數表示。示例 1 輸入 5 4 5 1 1 5輸出 2示例 2 輸入 1 4 5 4 4 5輸出 2注意 給定的二叉樹不超過10000個結點。樹的高度不超過1...
LeetCode 687 最長同值路徑
題目描述 給定乙個二叉樹,找到最長的路徑,這個路徑中的每個節點具有相同值。這條路徑可以經過也可以不經過根節點。注意 兩個節點之間的路徑長度由它們之間的邊數表示。示例 1 輸入 5 4 5 1 1 5 輸出 2 示例 2 輸入 1 4 5 4 4 5 輸出 2 注意 給定的二叉樹不超過10000個結點...