名前のリストがあります。
このリストを指定したサイズのグループに分割したいと考えています。すべてのグループは、指定されたサイズ以下である必要があり、グループ全体のグループ サイズはできるだけ等しく、指定されたサイズにできるだけ近くする必要があります。
最も適切なグループ サイズを決定するアルゴリズム (可能であれば Java 風の疑似コードをお願いします!) はどれですか?
例えば:
リストには 13 名が含まれます - 最大チーム サイズ 3。出力 (グループ サイズ): 3、3、3、2、2
リストには 13 人の名前が含まれています - 最大チーム サイズは 4 です。出力: 4、3、3、3
リストには 31 人の名前が含まれています - 最大チーム サイズは 5 です。出力: 5、5、5、4、4、4、4
リストには 31 人の名前が含まれています - 最大チーム サイズは 6 です。出力: 6、5、5、5、5、5
リストには 31 名が含まれます - 最大チーム サイズは 10 です。出力: 8、8、8、7