私は長さがn
の配列を持っていますが、それからランダムにm
要素を選択してその値を反転したいと思います。最も効率的な方法は何ですか?配列からのランダムなフリップmの値
ケースが2つある場合は、m=1
ケースが特殊ケースです。それは別々に議論することができ、m=/=1
です。
私の試みは、次のとおりです。
import numpy as np
n = 20
m = 5
#generate an array a
a = np.random.randint(0,2,n)*2-1
#random choose `m` element and flip it.
for i in np.random.randint(0,n,m):
a[m]=-a[m]
と仮定m
は数十あるとn
は何百ものです。
効率を定義します。また、nとmの近似値はどうですか?いくつかの値の中で最も効率的な方法は、他の人にとって最も効率的ではないかもしれません。 – cammil
@cammil編集を参照 – buzhidao