Допустим, у меня есть 10 коробок и 4 разных типа цветных шаров: черный, синий, красный, зеленый.Я хотел бы распределить шары разного цвета по 10 коробкам в примерно равных пропорциях.Например, приемлемым решением было бы поместить 2 черных, 2 синих, 3 красных и 3 зеленых шарика между 10 коробками.
Теперь, чтобы быть более конкретным, скажем, у меня есть 10 UIImageViews и переменное количество типов UIImage (Facebook, Twitter, Flickr и т. Д.) Для размещения в этих UIImageViews.Если я позволю пользователю отключить определенный тип, может быть переменное количество типов (все три, только два, только один и т. Д.).Существует ли эффективный алгоритм для распределения переменного числа типов объектов в статическое число блоков?
Самый простой способ, который я могу придумать, но я чувствую, что его ужасно неэффективно, это иметь цикл forи просто увеличивайте количество шариков каждого типа (UIImage) для помещения в коробку (UIImageView), пока общее количество шариков не станет равным количеству коробок.Есть ли лучший способ?