美文网首页
【算法题】1726. 同积元组

【算法题】1726. 同积元组

作者: 程序员小2 | 来源:发表于2023-05-27 14:37 被阅读0次

题目:

给你一个由 不同 正整数组成的数组 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) , (4,3,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)

提示:

1 <= nums.length <= 1000
1 <= nums[i] <= 104
nums 中的所有元素 互不相同

java代码:

class Solution {
    public int tupleSameProduct(int[] nums) {
        Map<Integer,Integer> map=new HashMap<>();
        int len=nums.length;
        for(int i=0;i<len-1;i++){
            for(int j=i+1;j<len;j++){
                int key=nums[i]*nums[j];
                if(map.containsKey(key)){
                    map.put(key,map.getOrDefault(key,0)+1);
                }
                else{
                    map.put(key,1);
                }
            }
        }
        int count=0;
        List<Integer> arrays=new ArrayList<>(map.values());
        
        for(Integer i:arrays){
            if(i>1){
                count+=i*(i-1)/2;
            }
        }
        return count*8;
    }
}

相关文章

  • 算法题--找出n元组

    0. 链接 题目链接 1. 题目 Given an array of strings, group anagram...

  • 第二章(关系模式:表结构,关系:表中数据,属性:列,元组:行)

    一、关系属性: 域:同数据类型的值的集合 笛卡尔积:一种域上的集合运算(元组,分量、基数),结果为各个元组之间各个...

  • SQL

    笛卡尔积 将第一个关系的每个元组与第二个关系的所有元组都进行连接。 自然连接(内连接) 自然连接和笛卡尔积运算都作...

  • 笛卡尔积简单实现

    昨天去面试碰到的算法题,笛卡尔积,之前都没接触过。 笛卡尔乘积是指在数学中,两个[集合] X和Y的笛卡尓积(Car...

  • 2018-08-05-python-元组-概念和表示方法

    1.元组 tuple 元组 是不可改变的序列,同list 一样,元组可以放任何类型的元素,一旦元组生成,则它不可以...

  • Android面经| 算法题解

    整理了校招面试算法题,部分《剑指offer》算法题,以及LeetCode算法题,本博文中算法题均使用Java实现校...

  • 一道sql题引发的关于where、having、group by

    上原题: 我的语句: 总结反思: where 可以和 having 并用;where 用来筛选元组,筛选之后的元组...

  • Rust语言编程实例100题-063

    Rust语言编程实例100题-063 题目:Rust 支持元组 tuple。而且元组是一个 复合类型 。复合类型 ...

  • swift之内存布局

    struct和tuple内存布局 结构体和元组当前共享相同的布局算法,在编译器实现中称为“通用”布局算法。算法如下...

  • 元组的知识点

    元组(tuple)元组是不可以改变的序列。同list一样,元组可以存放任意类型的值 表示方法:用小括号() 括起来...

网友评论

      本文标题:【算法题】1726. 同积元组

      本文链接:https://www.haomeiwen.com/subject/jkaledtx.html