Spaces:
Configuration error
Configuration error
| <html lang="en" class="dark"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" | |
| content="width=device-width, initial-scale=1.0"> | |
| <title>Subsets | DSA Portfolio</title> | |
| <script src="https://cdn.tailwindcss.com"></script> | |
| <link rel="stylesheet" href="../assets/style.css"> | |
| <link rel="preconnect" | |
| href="https://fonts.googleapis.com"> | |
| <link | |
| href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;700;800&family=JetBrains+Mono:wght@400;500&display=swap" | |
| rel="stylesheet"> | |
| </head> | |
| <body class="bg-slate-950 text-white font-inter"> | |
| <!-- Header --> | |
| <header class="border-b border-white/10"> | |
| <div class="max-w-7xl mx-auto px-6 py-5"> | |
| <a href="../index.html" | |
| class="text-cyan-400"> | |
| ← Back to Portfolio | |
| </a> | |
| </div> | |
| </header> | |
| <!-- Main --> | |
| <main class="max-w-7xl mx-auto px-6 py-16 grid lg:grid-cols-3 gap-10"> | |
| <!-- Content --> | |
| <section class="lg:col-span-2"> | |
| <p class="text-cyan-400 font-mono"> | |
| Recursion / Backtracking | |
| </p> | |
| <h1 class="text-5xl font-black mt-4"> | |
| Subsets | |
| </h1> | |
| <p class="text-slate-400 mt-6 text-lg"> | |
| Generate all possible subsets of a given array using recursion and backtracking. | |
| </p> | |
| <!-- Intuition --> | |
| <div class="mt-14"> | |
| <h2 class="text-3xl font-bold"> | |
| Intuition | |
| </h2> | |
| <p class="text-slate-300 mt-5 leading-8"> | |
| For every element we have two choices: | |
| either include it in the subset or exclude it. | |
| This naturally forms a recursion tree. | |
| </p> | |
| </div> | |
| <!-- Algorithm --> | |
| <div class="mt-14"> | |
| <h2 class="text-3xl font-bold"> | |
| Algorithm | |
| </h2> | |
| <ol class="mt-5 space-y-3 text-slate-300 list-decimal list-inside"> | |
| <li>Start recursion from index 0</li> | |
| <li>Include current element</li> | |
| <li>Move to next index</li> | |
| <li>Backtrack by removing element</li> | |
| <li>Exclude current element</li> | |
| </ol> | |
| </div> | |
| <!-- Dry Run --> | |
| <div class="mt-14"> | |
| <h2 class="text-3xl font-bold"> | |
| Dry Run | |
| </h2> | |
| <div class="mt-5 p-6 rounded-2xl bg-white/5 border border-white/10 font-mono"> | |
| [] <br> | |
| [1] <br> | |
| [1,2] <br> | |
| [2] | |
| </div> | |
| </div> | |
| <!-- Code --> | |
| <div class="mt-14"> | |
| <h2 class="text-3xl font-bold"> | |
| Python Solution | |
| </h2> | |
| <pre | |
| class="mt-5 p-6 rounded-2xl bg-black overflow-x-auto border border-white/10 text-sm code-block"> | |
| <code> | |
| class Solution: | |
| def subsets(self, nums): | |
| ans = [] | |
| def backtrack(i, curr): | |
| if i == len(nums): | |
| ans.append(curr[:]) | |
| return | |
| curr.append(nums[i]) | |
| backtrack(i + 1, curr) | |
| curr.pop() | |
| backtrack(i + 1, curr) | |
| backtrack(0, []) | |
| return ans | |
| </code> | |
| </pre> | |
| </div> | |
| </section> | |
| <!-- Sidebar --> | |
| <aside> | |
| <div class="sticky top-10 p-6 rounded-3xl bg-white/5 border border-white/10"> | |
| <h2 class="text-2xl font-bold"> | |
| Problem Info | |
| </h2> | |
| <div class="mt-8 space-y-5"> | |
| <div> | |
| <p class="text-slate-400 text-sm"> | |
| Difficulty | |
| </p> | |
| <p class="text-yellow-400 font-semibold"> | |
| Medium | |
| </p> | |
| </div> | |
| <div> | |
| <p class="text-slate-400 text-sm"> | |
| Topic | |
| </p> | |
| <p> | |
| Recursion | |
| </p> | |
| </div> | |
| <div> | |
| <p class="text-slate-400 text-sm"> | |
| Time Complexity | |
| </p> | |
| <p> | |
| O(2^n) | |
| </p> | |
| </div> | |
| <div> | |
| <p class="text-slate-400 text-sm"> | |
| Space Complexity | |
| </p> | |
| <p> | |
| O(n) | |
| </p> | |
| </div> | |
| <div> | |
| <p class="text-slate-400 text-sm"> | |
| Platform | |
| </p> | |
| <p> | |
| LeetCode | |
| </p> | |
| </div> | |
| <div> | |
| <p class="text-slate-400 text-sm"> | |
| Date Solved | |
| </p> | |
| <p> | |
| 2026-05-08 | |
| </p> | |
| </div> | |
| </div> | |
| </div> | |
| </aside> | |
| </main> | |
| </body> | |
| </html> |