Bir listeden benzersiz öğeleri rastgele seçmek için this gönderiminde verilen yanıtı kullanmak istiyorum.Yüzde olasılık temel alınarak nasıl seçim yapılır
Açıklanan yöntemin ardından, döngümün her yinelemesinde, geçerli öğenin listeden seçilme olasılığı yüzdesi olan bir olasılık değeri oluşturur.
Bilmem gereken şey, öğeyi seçmek için bu yüzde değerini nasıl kullanacağımdır (veya değil). 0,0333333351
azından ben başlangıç alıyorum 3600 olasılık değerleri çözümü esnek olmalıdır İşte
remainingIndices
bir
List<int>
for (var i = 0; i < remainingIndices.Count; i++)
{
var probability = pixelsToAdd/(float)(remainingIndices.Count - i);
}
pixelsToAdd
120 olduğunu ve remainingIndices.Count
olmak, sahip kodudur Daha geniş bir değer aralığıyla çalışmak, tercihen herhangi bir değer.
Teşekkür
Ekle Bu sorunun gelecek okuyucular için
İlk başta ben olasılık değeri 0 ile 100 arasında ama gerçekte bazı yüzdesi 0 ile 1 arasında bir değer olduğunu düşündüğünü açıklamak gerekir ve böylece Random.NextDouble()
dönüş değeri ile mükemmel şekilde eşleşir, bu nedenle aşağıdaki cevaplarda açıklandığı şekilde karşılaştırma yapmak için kullanılabilir.
Sadece soru gönderdikten sonra() Random.NextDouble keşfetti ve aniden kafamda tıkladım. Sağlam örnek için teşekkürler, eminim onsuz bir şeyleri özleyecektim. – Steve