LeetCode 1726 同積元組

2021-10-16 11:24:46 字數 1146 閱讀 6707

給你乙個由 不同 正整數組成的陣列 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個結點...