Python BasicsЛегко

Generate subsets

Detailed guide and Python implementation for the 'Generate subsets' problem.

Постановка задачи

Легко

Write a function generate_subsets(arr) that takes a list of distinct integers and returns all possible subsets (the power set). Return the result as a sorted list of sorted lists. Include the empty subset. Sort each individual subset, then sort the list of subsets by length first, then lexicographically.

Ограничения
  • 0 <= len(arr) <= 10
  • All elements in arr are distinct
  • -100 <= arr[i] <= 100

Примеры

Example 1
Input
arr = [1, 2, 3]
Output
[[], [1], [2], [3], [1, 2], [1, 3], [2, 3], [1, 2, 3]]
Explanation

An array of 3 elements has 2^3 = 8 subsets, including the empty set and the full set.

Example 2
Input
arr = [1, 2]
Output
[[], [1], [2], [1, 2]]
Explanation

2^2 = 4 subsets.

Example 3
Input
arr = [5]
Output
[[], [5]]
Explanation

2^1 = 2 subsets: the empty set and [5].

Need a Hint?
Consider using Recursion-specific data structures like sets or heaps.
Edge Cases to Watch
  • Empty input structures
  • Single element inputs
  • Large numerical bounds

Готовы решить?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Открыть в редакторе
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Рекомендуемые ресурсы Python

Расширьте свои знания с помощью соответствующих интерактивных руководств, шпаргалок и сравнений кода.

Учебник по Python

Циклы Python

Узнайте, как использовать циклы Python для перебора данных. Освойте циклы for, while, прерывание, продолжение и лучшие практики работы с циклами с помощью интерактивных примеров.

Посмотреть ресурс
Практическое руководство

Как генерировать случайные числа в Python

Узнайте, как генерировать случайные числа в Python. Сравните randrange, randint и генерацию равномерного числа с плавающей запятой с контролем заполнения.

Посмотреть ресурс
Шпаргалка

Шпаргалка по строковым методам Python

Полное справочное руководство по манипулированию строками в Python. Мастер форматирования, поиска, разделения, замены и проверки свойств строк.

Посмотреть ресурс
Сравнение языков

Python против JavaScript: какой язык программирования лучше?

Всестороннее сравнение Python и JavaScript. Изучите синтаксические различия, производительность, варианты использования (серверная и клиентская части) и примеры кодирования.

Посмотреть ресурс