1、洗牌算法 与打乱数组顺序有关的题目,要求位置交换的概率相等。 证明: 放在第一个位置的元素,取0-n 的随机数,概率为 1/n; 放在第二个位置的元素,取1到n 的随机数,概率为 (1-1/n)* 1/(n-1) = 1/n; void shuffle(vector<int>& nums){ int n = nums.size(); if (n<=0) return ; for(int i=0;i<n;i++){ int index = i + rand() % (n-i