0b91b53c创建于 2023年1月22日历史提交
use std::iter::FromIterator;

impl Solution {
    pub fn subsets(nums: Vec<i32>) -> Vec<Vec<i32>> {
        let n = nums.len();

        Vec::from_iter((0..1 << n).map(|bitmask| {
            Vec::from_iter((0..n).filter_map(|i| match (bitmask >> i) & 1 != 0 {
                true => Some(nums[i]),
                false => None
            }))
        }))
    }
}