在准备Secret Santa 的答案 - 生成“有效”排列时,我遇到了检查列表是否包含零的需要。我想知道在Mathematica 7中最快的方法是什么,重点是非负整数的简短列表。
usingMin[list] === 0
是我发现的最快的,比MemberQ
or更快FreeQ
,但我希望有一种更快的方法,与BitXor
下面的操作相当:
r = Range@9;
p = Permutations@r;
BitXor[r, #] & /@ p; // Timing
0 === Min[BitXor[r, #]] & /@ p; // Timing
{0.062,空}
{0.452,空}