与同一产品的元组
来源:dev.to
时间:2025-02-07 10:42:58 450浏览 收藏
哈喽!今天心血来潮给大家带来了《与同一产品的元组》,想必大家应该对文章都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正在学习文章,千万别错过这篇文章~希望能帮助到你!
1726。与同一产品的元组
难度:中等
>主题:数组,哈希表,计数
给定一个不同的阵列,正整数,返回
>输入:
- 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 < = nums.length < = 1000 1 < = nums [i]
num中的所有元素均为- 不同
- 提示:
- 请注意,所有整数都是不同的。这意味着每次形成产品时,都必须由两个唯一的整数形成。 计算2个不同数字的每种产品的频率。然后计算形成的排列。>
解决方案:
我们需要从给定的一系列不同的正整数中确定有效元素的数量(a,b,c,d),以使a和b的乘积等于c和d的乘积,所有四个元素是不同的。- 方法
:计算阵列中所有不同元素的所有可能对的产物。这有助于我们确定可以通过不同对元素形成哪些产品。>
计数产品频率:使用哈希映射计算每种产品出现多少次。哈希地图中的每个键都是产品,值是产生此产品的不同对的数量。
>计算有效的元素
:对于可以至少两个不同对形成的每种产品,计算有效元素的数量。此处使用的公式来自组合排列,考虑到可以订购和组合的不同方式。- >让我们在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) . "\n"; // Output: 8 // Example 2 $nums2 = [1, 2, 4, 5, 10]; echo "Output: " . tupleSameProduct($nums2) . "\n"; // Output: 16 ?>
解释: - 生成对的产品 :我们在所有可能的元素(i,j)上迭代我< j,以确保仅考虑一次每对。对于每对,我们计算他们的产品,并将每个产品的计数存储在哈希地图中。
- 计数产品频率:哈希映射跟踪导致相同产品的有多少截然不同的对。这有助于我们快速确定哪些产品可以形成有效的元组。
计算有效的元素:对于至少两次出现两次的每个产品,我们使用公式
4×k×(k -1)
通过利用组合计数和哈希地图来跟踪产品频率,可以有效地计算所有有效的元素,从而确保问题中的最佳解决方案
- 联系链接
-
如果您发现此系列有帮助,请考虑在github上给出
reposority >在您喜欢的社交网络上分享帖子。您的支持对我来说意义重大! - > 如果您想要这样的更多有用的内容,请随时关注我:>
- linkedin github
本篇关于《与同一产品的元组》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于文章的相关知识,请关注golang学习网公众号!
声明:本文转载于:dev.to 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
最新阅读
更多>
-
162 收藏
-
391 收藏
-
188 收藏
-
210 收藏
-
414 收藏
-
426 收藏
课程推荐
更多>
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 507次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习