前言
2023-9-24 22:42:11
以下内容源自《【学习算法】》
仅供学习交流使用
推荐
无
回溯-求出数组的所有子序列
代码
import java.util.ArrayList; import java.util.Scanner; /* 3 1 2 3 4 1 2 3 4 2 2 1 */ public class Main { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); int n = scanner.nextInt(); int[] arr=new int[n]; for (int i = 0; i < n; i++) { arr[i]= scanner.nextInt(); } solve(arr); } public static void solve(int[] arr){ ArrayList<ArrayList<Integer>> lists=new ArrayList<>(); ArrayList<Integer> tmp=new ArrayList<>(); test(lists,tmp,arr,0); System.out.println(lists); } public static void test(ArrayList<ArrayList<Integer>> list,ArrayList<Integer> tmp,int[] arr,int index){ if (index==arr.length){ list.add(new ArrayList<>(tmp)); return; } tmp.add(arr[index]); test(list,tmp,arr,index+1); tmp.remove(tmp.size()-1); test(list,tmp,arr,index+1); } }
最后
2023-9-24 22:45:19
我们都有光明的未来
祝大家考研上岸
祝大家工作顺利
祝大家得偿所愿
祝大家如愿以偿
点赞收藏关注哦