排除自己的列表,随机抽取一个元素进行 交换;
如果是单数剩余3个的时候 你想成一个圈,随机顺时针或者逆时针交换。
随机就好了,不用搞那么复杂,抽到自己在重抽
这样是所有人都要抽完吗?
那我提供一个思路,当要抽一个奖品给 A同学时,把A 同学的礼品排除,在剩下的里面抽一个。下面以此类推。
你需要考虑的是有为有抽不掉的?最后一个只有A同学的一个礼品了。那只剩两个的时候有一个是A的,有一个不是。抽A同学前一个同学的时候就一定要把A同学的抽走才好。 边界的地方处理一下。
先过滤自己然后在随机抽取