Ich möchte die Antwort in this Beitrag nach dem Zufallsprinzip wählen einzigartige Gegenstände aus einer Liste verwenden.Wie man eine Wahl basierend auf einer prozentualen Wahrscheinlichkeit treffen kann
Nach der beschriebenen Methode, erzeuge ich in jeder Iteration meiner Schleife einen Wahrscheinlichkeitswert, der die prozentuale Chance darstellt, dass das aktuelle Element aus der Liste ausgewählt wird.
Was ich wissen muss ist, wie verwende ich diesen Prozentwert, um den Artikel auszuwählen (oder nicht).
Hier ist der Code, die ich habe, mit remainingIndices
ein List<int>
for (var i = 0; i < remainingIndices.Count; i++)
{
var probability = pixelsToAdd/(float)(remainingIndices.Count - i);
}
pixelsToAdd
120 und remainingIndices.Count
ist 3600. Die Wahrscheinlichkeitswerte zu sein ich Anfang bin immer bei 0,0333333351
Die Lösung sollte flexibel sein mit einem viel breiteren Wertebereich zu arbeiten, vorzugsweise mit beliebigen Werten.
Dank
Kommentar
Für zukünftige Leser dieser Frage soll ich es ist ein Wert zwischen 0 und 1 zuerst dachte ich, der Wahrscheinlichkeitswert eines gewissen Prozentsatz zwischen 0 und 100 war in Wirklichkeit aber klarstellen, dass und stimmt somit perfekt mit dem Rückgabewert von Random.NextDouble()
überein, der daher zum Vergleich verwendet werden kann, wie in den Antworten unten beschrieben.
Als typische entdeckte ich Random.NextDouble() kurz nach der Frage, und es plötzlich klickte in meinem Kopf einreichen. Danke für das solide Beispiel, ich bin sicher, dass ich etwas ohne es verpasst hätte. – Steve