1852. 珅泽教育CSP-J第一轮模拟考第十套 第 21 题

珅泽教育CSP-J第一轮模拟考第十套 第 21 题

二、阅读程序·第1题(选择题)

int solve(int n, int a[], int b[])
{
    std::sort(a, a + n);
    std::sort(b, b + n);
    int ans = std::max(a[0] - b[0], b[0] - a[0]);
    int i = 0;
    int j = 0;
    while (i < n && j < n)
    {
        if (a[i] < b[j])
        {
            int diff = b[j] - a[i];
            if (ans > diff)
                ans = diff;
            i++;
        }
        else
        {
            int diff = a[i] - b[j];
            if (ans > diff)
                ans = diff;
            j++;
        }
    }
    return ans;
}

该程序的时间复杂度为( )。

{{ select(1) }}

  • Θ(n2)\Theta(n^2)
  • Θ(nlog⁡n)\Theta(n\log n)
  • Θ(n)\Theta(n)
  • Θ(log⁡2n)\Theta(\log^2 n)