• Subsets *


    Given a set of distinct integers, nums, return all possible subsets.

    Note:

    • Elements in a subset must be in non-descending order.
    • The solution set must not contain duplicate subsets.

    For example,
    If nums = [1,2,3], a solution is:

    [
      [3],
      [1],
      [2],
      [1,2,3],
      [1,3],
      [2,3],
      [1,2],
      []
    ]



    算法思路:例如{1,2}的全部子集为{}{1}{2}{1,2}不妨假设为s1,加入3之后即{1,2,3}的全部子集该如何得到呢?简单一点方法就是将3依次加入{1,2}的子集当中得到新的子集{3}{1,3}{2,3}{1,2,3}设为s2,
    s1∩s2即为{1,2,3}的全部子集。


    public class Solution {
        public List<List<Integer>> subsets(int[] nums) {
            List<List<Integer>> re = new ArrayList<List<Integer>>();
            re.add(new ArrayList<Integer>());//初始化,加入空集
            Arrays.sort(nums);
            for(int i:nums) {
                List<List<Integer>> tmp = new ArrayList<List<Integer>>();
                for(List<Integer> set:re) {
                    List<Integer> tmp_set = new ArrayList<Integer>();
                    tmp_set.addAll(set);//clone原来存在的list
                    tmp_set.add(i);
                    tmp.add(tmp_set);
                }
                re.addAll(tmp);
            }
            return re;
        }
    }
  • 相关阅读:
    TP ajax
    TP分页
    TP表单验证
    TP数据删除
    TP数据查询
    TP【连接数据库配置及Model数据模型层】
    TP系统常量信息
    ThinkPHP中Session用法详解
    ThinkPHP部分内置函数
    element-ui select可搜索下拉框无法在IOS或Ipad调起小键盘输入法
  • 原文地址:https://www.cnblogs.com/mrpod2g/p/4476989.html
Copyright © 2020-2023  润新知