假設我有10個盒子和4種不同類型的綵球:黑色,藍色,紅色,綠色。我想以大致相同的比例在10個盒子中分配不同顏色的球。例如,一個可接受的解決方案是在10個盒子中放置2個黑色,2個藍色,3個紅色和3個綠色球。Pigeonhole問題:將不同類型的UIImage放入UIImageView中
現在,更具體地說,假設我有10個UIImageViews和可變數量的UIImages(Facebook,Twitter,Flickr等)放入這些UIImageView中。如果我允許用戶關閉某種類型,則可以有多種類型(全部三種,只有兩種,只有一種等)。是否有一種有效的算法將可變數量的對象分配到靜態數量的框中?
我能想到的最直接的方式,但我覺得它非常低效,是有一個for循環,只是增加每個類型的球(UIImage)放置到一個盒子(UIImageView)的數量,直到球的總數等於盒子的數量。有沒有更好的辦法?
+1 for the answer without loop – 2011-05-04 04:41:32