1 条题解

  • 0
    @ 2026-8-5 14:01:00

    题解:落单的编号

    思路

    异或有三个关键性质:

    • x ^ x = 0
    • x ^ 0 = x
    • 异或满足交换律和结合律。

    因此把所有编号依次异或,成对编号会互相抵消,最后只剩下落单编号。

    复杂度

    时间复杂度 O(n)O(n),额外空间复杂度 O(1)O(1)

    参考代码

    #include <bits/stdc++.h>
    using namespace std;
    
    int main() {
        ios::sync_with_stdio(false);
        cin.tie(nullptr);
    
        int n;
        cin >> n;
        unsigned int ans = 0;
        for (int i = 0; i < n; i++) {
            unsigned int x;
            cin >> x;
            ans ^= x;
        }
        cout << ans << "\n";
        return 0;
    }
    

    信息

    ID
    5114
    时间
    1000ms
    内存
    128MiB
    难度
    9
    标签
    递交数
    9
    已通过
    5
    上传者