All Downloads are FREE. Search and download functionalities are using the official Maven repository.

g0001_0100.s0078_subsets.Solution.rs Maven / Gradle / Ivy

There is a newer version: 1.8
Show newest version
// #Medium #Top_100_Liked_Questions #Top_Interview_Questions #Array #Bit_Manipulation #Backtracking
// #Algorithm_II_Day_9_Recursion_Backtracking #Udemy_Backtracking/Recursion
// #Big_O_Time_O(2^n)_Space_O(n*2^n) #2024_09_07_Time_0_ms_(100.00%)_Space_2.2_MB_(74.79%)

impl Solution {
    pub fn subsets(nums: Vec) -> Vec> {
        let mut res = Vec::new();
        Self::solve(&nums, &mut vec![], &mut res, 0);
        res
    }

    fn solve(nums: &[i32], temp: &mut Vec, res: &mut Vec>, start: usize) {
        res.push(temp.clone());
        for i in start..nums.len() {
            temp.push(nums[i]);
            Self::solve(nums, temp, res, i + 1);
            temp.pop();
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy