文章目录

  • 1. 题目
  • 2. 解题

1. 题目

给你一个由 不同 正整数组成的数组 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提示:
1 <= nums.length <= 1000
1 <= nums[i] <= 10^4
nums 中的所有元素 互不相同

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/tuple-with-same-product
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 记录乘积 有多少对数
  • 每一种乘积有 n 对数,那么 有 n(n−1)∗2∗2n(n-1)*2*2n(n−1)∗2∗2 种方案
class Solution {public:int tupleSameProduct(vector<int>& nums) {unordered_map<int,int> m;for(int i = 0; i < nums.size(); ++i){for(int j = i+1; j < nums.size(); ++j)m[nums[i]*nums[j]]++;}int ans = 0;for(auto it = m.begin(); it != m.end(); ++it){int n = it->second;ans += n*(n-1)*4;}return ans;}
};

536 ms 79.7 MB C++


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

LeetCode 1726. 同积元组(排列组合)相关推荐

  1. LeetCode 例题精讲 | 08 排列组合问题:回溯法的候选集合

    点击关注上方"五分钟学算法", 设为"置顶或星标",第一时间送达干货. 转自面向大象编程 本期例题:LeetCode 46 - Permutations[1]( ...

  2. LeetCode 216. 组合总和 III(排列组合 回溯)

    1. 题目 找出所有相加之和为 n 的 k 个数的组合.组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字. 说明: 所有数字都是正整数. 解集不能包含重复的组合. 示例 1: 输 ...

  3. LeetCode 40. 组合总和 II(排列组合 回溯)

    1. 题目 给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的每个数字在每个组合中只 ...

  4. [leetcode] 题型整理之排列组合

    一般用dfs来做 最简单的一种: 17. Letter Combinations of a Phone Number Given a digit string, return all possible ...

  5. LeetCode:数组(排列组合,二分查找I,二分查找II)

    1,排列组合 38,剑指Offer:字符串的排列 题目:输入一个字符串,打印出该字符串中字符的所有排列.你可以以任意顺序返回这个字符串数组,但里面不能有重复元素. class Solution {Li ...

  6. 【亡羊补牢】挑战数据结构与算法 第18期 LeetCode 面试题 08.08. 有重复字符串的排列组合(递归与回溯)

    仰望星空的人,不应该被嘲笑 题目描述 有重复字符串的排列组合.编写一种方法,计算某字符串的所有排列组合. 示例1: 输入:S = "qqe"输出:["eqq", ...

  7. leetcode面试题 08.08. 有重复字符串的排列组合(回溯)

    有重复字符串的排列组合.编写一种方法,计算某字符串的所有排列组合. 示例1: 输入:S = "qqe" 输出:["eqq","qeq",&q ...

  8. 【LeetCode每天一题】Permutations(排列组合)

    Given a collection of distinct integers, return all possible permutations. Example: Input: [1,2,3] O ...

  9. 【牛客每日一题】4.16 逆序对 ( 数学 , 排列组合 ,快速幂 , 快速乘 )

    [每日一题]逆序对 链接:https://ac.nowcoder.com/acm/problem/14731 来源:牛客网 题目描述 求所有长度为n的01串中满足如下条件的二元组个数: 设第i位和第j ...

最新文章

  1. springboot怎么写上传头像接口?
  2. 广播与P2P通道(下) -- 方案实现
  3. 20条Linux命令面试问答
  4. GDCM:串联/提取DICOM文件的测试程序
  5. 如果Laravel 报错 file_put_contents(): failed to open stream
  6. Java代码输出到txt文件(申请专利贴源码的必备利器)
  7. 小型空仓库图片_大中型的食品企业为何都青睐自动化立体仓库?
  8. CentOS6.4下Mysql数据库的安装与配置
  9. 利用SpringAOP 实现 日志输出
  10. Python并发编程Futures
  11. Oracle数据库编程:PL/SQL编程基础
  12. 帝国败局:一代首富,因何退隐江湖?
  13. 怎么看xp计算机是32位还是64位,教你查看XP系统的不同32位还是64位详细的步骤
  14. PDF文件如何转成Word?这样操作就能转换
  15. python+tkinter+threading制作多线程简易音乐播放器(自动播放,上一曲,下一曲,播放,暂停,实时显示歌曲名并能自动切换歌曲的功能)
  16. js检查违禁词汇敏感词汇代码
  17. 线性规划——对偶问题、强弱对偶定理、KKT条件
  18. App Inventor 2 连接调试器的各种方式比较
  19. oracle 用户的登录,授权,传递授权操作
  20. 计算机回收站设置大小,电脑回收站无法调整容量的大小怎么办?

热门文章

  1. android 代码写命令,monkey基本命令及脚本编写(示例代码)
  2. MySQL5.7升级到8.0 之后,配合ubantu18.04遇到的常规问题以及非常规问题的解决方案
  3. oracle sql 语句 start with ...... connect by prior .......
  4. c语言结构体指针初始化
  5. 使用命名空间、头文件和实现文件
  6. oracle中pga指什么,oracle学习SGA跟PGA理解
  7. 天文学中常用的坐标系
  8. win2008启动计算机应用配置,[计算机软件及应用]WIN2008_NAP服务器配置详解.doc
  9. java 数据网格,easyui数据网格
  10. 在mybatis中resultMap与resultType的区别