天天看點

Leetcode 2176. 統計數組中相等且可以被整除的數對

Leetcode 2176. 統計數組中相等且可以被整除的數對

給你一個下标從 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
class Solution {
public:
    int countPairs(vector<int>& nums, int k) {
         int res=0;
        for(int i=0;i<nums.size();i++)
        {
            for(int j=i+1;j<nums.size();j++)
            {
                if(nums[i]==nums[j])
                {
                    if((i*j)%k==0)
                    {
                        res++;
                    }
                }
            }
        }
        return res;
    }
};