在准备回答Secret Santa - Generating 'valid' permutations时,我遇到了检查列表是否包含零的需要。 我想知道在Mathematica 7中实现这一点的最快方法,重点是对非负整数的短列表进行操作。
使用
使用
Min[list] === 0
是我发现的最快的方法,比MemberQ
或FreeQ
更快,但我希望有一种更快的方法,与下面的BitXor
操作相当:r = Range@9;
p = Permutations@r;
BitXor[r, #] & /@ p; // Timing
0 === Min[BitXor[r, #]] & /@ p; // Timing
{0.062,空}
{0.452,空}