[4,0], [3,1] , [2,2], [1,3], [0,4]
У меня уже есть этот рекурсивный метод, где «remainingFacilities» — это сумма total, а «numberOfTransformers» — количество слотов, где все «allPossibleFacilityCombinations» должны содержать все возможные комбинации:
Код: Выделить всё
private ArrayList allPossibleFacilityCombinations = new ArrayList();;
private void distributeFacilities(int remainingFacilities, int numberOfTransformers,
ArrayList facilitiesPerTransformer, int currentIndex) {
if (currentIndex == numberOfTransformers) {
if (remainingFacilities == 0) {
// Create a new ArrayList based on facilitiesPerTransformer
ArrayList copy = new ArrayList(facilitiesPerTransformer);
allPossibleFacilityCombinations.add(copy);
}
return;
}
for (int i = 0; i
Подробнее здесь: [url]https://stackoverflow.com/questions/78806281/how-to-find-all-possible-combinations-of-a-list-of-integers[/url]
Мобильная версия