Notes

其他技巧

Fisher-Yates Shuffle (Knuth Shuffle)

Random shuffle in O(N)O(N) time complexity.

void shuffle(vector<int>& nums) {
    for (int i = 0; i < nums.size(); i++) {
        int j = i + rand() % (nums.size() - i);
        swap(nums[i], nums[j]);
    }
}
cpp

Type to search.