您的位置 首页 知识分享

与同一产品的元组

1726。与同一产品的元组 难度:中等 >主题:数组,哈希表,计数 给定一个不同的阵列,正整数,返回。 …

1726。与同一产品的元组

难度:中等

>主题:数组,哈希表,计数

给定一个不同的阵列,正整数,返回。 >

>示例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,5,4)   (4,5,2,10) , (4,5,10,2) , (5,4,2,10) , (5,4,10,2) 
    登录后复制
  • >约束:
  • >

1 1 num中的所有元素均为

    不同

  • 提示:
  • 请注意,所有整数都是不同的。这意味着每次形成产品时,都必须由两个唯一的整数形成。 计算2个不同数字的每种产品的频率。然后计算形成的。>

解决方案:

我们需要从给定的一系列不同的正整数中确定有效元素的数量(a,b,c,d),以使a和b的乘积等于c和d的乘积,所有四个元素是不同的。

  1. 方法

生成对的产品

:计算阵列中所有不同元素的所有可能对的产物。这有助于我们确定可以通过不同对元素形成哪些产品。>

计数产品频率

:使用哈希映射计算每种产品出现多少次。哈希地图中的每个键都是产品,值是产生此产品的不同对的数量。

>计算有效的元素

:对于可以至少两个不同对形成的每种产品,计算有效元素的数量。此处使用的公式来自组合排列,考虑到可以订购和组合的不同方式。

  1. >让我们在php中实现此解决方案: 1726。与同一产品的元组
    <?php /**  * @param Integer[] $nums  * @return Integer  */ function tupleSameProduct($nums) {     ...     ...     ...     /**      * go to ./solution.php      */ }  // Example 1 $nums1 = [2, 3, 4, 6]; echo "Output: " . tupleSameProduct($nums1) . " "; // Output: 8  // Example 2 $nums2 = [1, 2, 4, 5, 10]; echo "Output: " . tupleSameProduct($nums2) . " "; // Output: 16 ?> 
    登录后复制

    解释:

  2. 生成对的产品
  3. :我们在所有可能的元素(i,j)上迭代我>

  4. 计数产品频率:哈希映射跟踪导致相同产品的有多少截然不同的对。这有助于我们快速确定哪些产品可以形成有效的元组。

计算有效的元素:对于至少两次出现两次的每个产品,我们使用公式
4×k×(k -1),其中k是k的计数该产品的成对。该公式考虑了对(a,b)和(c,d)的所有排列,考虑了每对内部的元素顺序和对的顺序。

通过利用组合计数和哈希地图来跟踪产品频率,可以有效地计算所有有效的元素,从而确保问题中的最佳解决方案

    联系链接

  1. 如果您发现此系列有帮助,请考虑在hub上给出 reposority cository >在您喜欢的上分享帖子。您的支持对我来说意义重大!
  2. > 如果您想要这样的更多有用的内容,请随时关注我:>
  3. linkedin github

以上就是与同一产品的元组的详细内容,更多请关注php中文网其它相关文章!

本文来自网络,不代表甲倪知识立场,转载请注明出处:http://www.spjiani.cn/wp/8934.html

作者: nijia

发表评论

您的电子邮箱地址不会被公开。

联系我们

联系我们

0898-88881688

在线咨询: QQ交谈

邮箱: email@wangzhan.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部