Easy

Number of Beautiful PairsC++

Full explanation · Time O(nlogr) · Space O(1)

// Time:  O(nlogr)
// Space: O(1)

// number theory, freq table
class Solution {
public:
    int countBeautifulPairs(vector<int>& nums) {
        int result = 0;
        vector<int> cnt(10);
        for (auto x : nums) {
            for (int i = 1; i <= 9; ++i) {
                if (gcd(i, x % 10) == 1) {
                    result += cnt[i];
                }
            }
            while (x >= 10) {
                x /= 10;
            }
            ++cnt[x];
        }
        return result;
    }
};