关于建设网站的报告,织梦cms网站模板,免费活动网,站长工具查询文章目录1. 题目2. 解题1. 题目
给你一个下标从 0 开始长度为 n 的整数数组 nums 和一个整数 k #xff0c;请你返回满足 0 i j n #xff0c;nums[i] nums[j] 且 (i * j) 能被 k 整除的数对 (i, j) 的 数目 。
示例 1#xff1a;
输入#xff1a;nums …
文章目录1. 题目2. 解题1. 题目
给你一个下标从 0 开始长度为 n 的整数数组 nums 和一个整数 k 请你返回满足 0 i j n nums[i] nums[j] 且 (i * j) 能被 k 整除的数对 (i, j) 的 数目 。
示例 1
输入nums [3,1,2,2,2,1,3], k 2
输出4
解释
总共有 4 对数符合所有要求
- nums[0] nums[6] 且 0 * 6 0 能被 2 整除。
- nums[2] nums[3] 且 2 * 3 6 能被 2 整除。
- nums[2] nums[4] 且 2 * 4 8 能被 2 整除。
- nums[3] nums[4] 且 3 * 4 12 能被 2 整除。示例 2
输入nums [1,2,3,4], k 1
输出0
解释由于数组中没有重复数值所以没有数对 (i,j) 符合所有要求。提示
1 nums.length 100
1 nums[i], k 100来源力扣LeetCode 链接https://leetcode-cn.com/problems/count-equal-and-divisible-pairs-in-an-array 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。 2. 解题
map 存储 相同数字的下标
class Solution {
public:int countPairs(vectorint nums, int k) {unordered_mapint,vectorint m;int ans 0;for(int j 0; j nums.size(); j){for(auto i : m[nums[j]]){if(i*j%k0)ans;}m[nums[j]].push_back(j);}return ans;}
};8 ms 12.2 MB C 我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号Michael阿明一起加油、一起学习进步