Программа на Java для возврата списка подмножеств заданного массива с использованием обратного отслеживания и рекурсии бJAVA

Программисты JAVA общаются здесь
Anonymous
Программа на Java для возврата списка подмножеств заданного массива с использованием обратного отслеживания и рекурсии б

Сообщение Anonymous »

Я написал программу для возврата списка, содержащего списки подмножеств заданного массива, с использованием обратного отслеживания и рекурсии, я назвал эту функцию subset типа void:

Код: Выделить всё

import java.util.ArrayList;
public class Main{
public static void main(String[] args) {
ArrayList nums = new ArrayList();
List list= new ArrayList();
int[] arr = {2,3,5};
subset(list,nums,arr,0);  //
System.out.println(list);
}
static void subset(List list,
ArrayList nums,
int[] arr, int index){
if(index==arr.length){
list.add(nums);
return  ;
}
int c = arr[index];
nums.add(c);
subset(list,nums,arr,index+1);   //
nums.remove(nums.size()-1);
subset(list,nums,arr, index+1);  //
return ;
}
}
Ожидания:

Код: Выделить всё

output={[],[],[],[],[],[],[],[]}
expected={[2,3,5],[2,3],[2,5],[2],[3,5],[3],[5],[]}
Почему выдает пустые списки?

Подробнее здесь: https://stackoverflow.com/questions/767 ... -backtrack

Вернуться в «JAVA»