我有兩維數組,每一層元素有不同的數組大小。例如,它像從二維數組中挑選隨機元素的可能性相當可能
first element 1 9
second element 7
third element 10 3 2
fourth element 6 92 14 73
如何挑選從這個二維數組同樣可能的元素?從2d中挑選隨機元素的一個顯而易見的方法是生成隨機數並挑選像[第一個隨機數]的行,並基於該元素的大小生成第二個,但它不會選擇相同可能性的元素(例如第二個元素包含1元素的概率比其他元素的概率高25%,其他元素的概率低於25%)。如果第一層中的所有元素具有相同的數組大小,但不是這種情況,則此方法將工作。我也考慮性能(陣列足夠大)
你的僞代碼實際上並不會產生隨機性。如果頂層的第一個元素只包含1個元素,那麼您的代碼很可能會選擇第一個元素,因爲您的if語句的條件(1 <1到10之間的隨機數)始終爲真。 – 2011-04-20 19:22:26
有錯誤的比較運算符,很好捕獲。 – 2011-04-20 19:25:50