Witam serdecznie,
Wzorując się na wielu sposobach rozwiązania problemu plecakowego udało mi się napisać program, który działa poprawnie, ale na zajęcia mam oddać wersję z funkcją rekurencyjną nie zawierającą pętli. Chciałem przerobić to metoda Refaktoryzacji, jednak ciągle dostaję złe wyniki.
proszę o jakieś wskazówki w jaki sposób mogę to poprawić.
public String plecak(int waga, int pocz) {
String temp = "";
for(int i = pocz ; i < tab.length ; i++) { //tab[] przechowuje kolejne wagi
if(tab[i] == waga) {
return String.valueOf(tab[i]);
} else if(waga > tab[i]) {
temp = plecak(waga - tab[i], i + 1);
if(!temp.equals("BRAK")) {
return String.valueOf(tab[i]) + " " + temp;
}
}
}
return "BRAK";
}