package com.camnter.basicexercises.array; import java.util.ArrayList; import java.util.List; /** * 全子集 * * 不去重 版本 * *
* 输入 {1, 2, 3} * 输出 {}, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3} * * @author CaMnter */ public class Subsets { /** * {1,2,3} * 先放入一个 {} * ------------------------------------------ * 第一趟循环 拿到 1 * {} 取出来,备份。 加入 1,得到 {1} * 此时就是 {}, {1} * ------------------------------------------ * 第二趟循环 拿到 2 * {}, {1} 取出来,备份。 加入 2,得到 {2}, {1, 2} * 此时就是 {}, {1}, {2}, {1, 2} * ------------------------------------------ * 第二趟循环 拿到 2 * {}, {1}, {2}, {1, 2} 取出来,备份。 加入 3,得到 {3}, {1, 3}, {2, 3}, {1, 2, 3} * 此时就是 {}, {1}, {2}, {1, 2}, {3}, {1, 3}, {2, 3}, {1, 2, 3} * * @param array array * @return List */ public List