第 326 场周赛
Date: 2023-01-01
A 统计能整除数字的位数
使用 to_string 转换为字符串,方便遍历
复杂度分析
- 时间复杂度:\(O(C)\)
- 空间复杂度:\(O(1)\)
B 数组乘积中的不同质因数数目
对于每个数字分别计算质因数即可,用 set 来计数
复杂度分析
- 时间复杂度:\(O(n\sqrt m)\),其中 \(m\) 是数字大小
- 空间复杂度:\(O(m)\)
C 将字符串分割成值不超过 K 的子字符串
动态规划
复杂度分析
- 时间复杂度:\(O(10n)\)
- 空间复杂度:\(O(n)\)
D 范围内最接近的两个质数
质数筛模版题,注意 1 不是质数
class Solution {
public:
    vector<int> closestPrimes(int left, int right) {
        int n = right;
        vector<int> v(n + 1), p(n + 1);
        int m = 0, res = INT_MAX, x = 0, y = 0, last = -1;
        for (int i = 2; i <= n; i++) {
            if (v[i] == 0) {
                p[++m] = i;
                if (i >= left) {
                    if (last != -1) {
                        if (i - last < res) {
                            res = i - last;
                            x = last, y = i;
                        }
                    }
                    last = i;
                }
            }
            for (int j = 1; j <= m; j++) {
                if (p[j] > n / i) break;
                v[p[j] * i] = 1;
                if (i % p[j] == 0) break;
            }
        }
        if (res == INT_MAX) return {-1, -1};
        else return {x, y};
    }
};
复杂度分析
- 时间复杂度:\(O(n)\)
- 空间复杂度:\(O(n)\)
    本站总访问量 Loading 次
    本站总访客数 Loading 人