Skip to content

Commit 5a5e306

Browse files
committed
Fix all Ruff warnings and formatting issues
1 parent 9be8b79 commit 5a5e306

File tree

1 file changed

+24
-11
lines changed

1 file changed

+24
-11
lines changed

backtracking/all_permutations.py

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,11 @@
55
"""
66

77
from __future__ import annotations
8-
from typing import List, Union
98

10-
Element = Union[int, str]
9+
Element = int | str
1110

1211

13-
def generate_all_permutations(sequence: List[Element]) -> List[List[Element]]:
12+
def generate_all_permutations(sequence: list[Element]) -> list[list[Element]]:
1413
"""
1514
Generate and return all permutations of the given sequence.
1615
@@ -19,11 +18,21 @@ def generate_all_permutations(sequence: List[Element]) -> List[List[Element]]:
1918
2019
Example 1 (integers):
2120
>>> generate_all_permutations([1, 2, 3])
22-
[[1, 2, 3], [1, 3, 2], [2, 1, 3], [2, 3, 1], [3, 1, 2], [3, 2, 1]]
21+
[[1, 2, 3],
22+
[1, 3, 2],
23+
[2, 1, 3],
24+
[2, 3, 1],
25+
[3, 1, 2],
26+
[3, 2, 1]]
2327
2428
Example 2 (strings):
2529
>>> generate_all_permutations(["A", "B", "C"])
26-
[['A', 'B', 'C'], ['A', 'C', 'B'], ['B', 'A', 'C'], ['B', 'C', 'A'], ['C', 'A', 'B'], ['C', 'B', 'A']]
30+
[['A', 'B', 'C'],
31+
['A', 'C', 'B'],
32+
['B', 'A', 'C'],
33+
['B', 'C', 'A'],
34+
['C', 'A', 'B'],
35+
['C', 'B', 'A']]
2736
2837
Example 3 (single element):
2938
>>> generate_all_permutations([1])
@@ -33,18 +42,18 @@ def generate_all_permutations(sequence: List[Element]) -> List[List[Element]]:
3342
>>> generate_all_permutations([])
3443
[[]]
3544
"""
36-
result: List[List[Element]] = []
45+
result: list[list[Element]] = []
3746
index_used = [False] * len(sequence)
3847
create_state_space_tree(sequence, [], 0, index_used, result)
3948
return result
4049

4150

4251
def create_state_space_tree(
43-
sequence: List[Element],
44-
current_sequence: List[Element],
52+
sequence: list[Element],
53+
current_sequence: list[Element],
4554
index: int,
46-
index_used: List[bool],
47-
result: List[List[Element]],
55+
index_used: list[bool],
56+
result: list[list[Element]],
4857
) -> None:
4958
"""
5059
Backtracking helper that appends permutations into result.
@@ -64,7 +73,11 @@ def create_state_space_tree(
6473
if not index_used[i]:
6574
current_sequence.append(sequence[i])
6675
index_used[i] = True
67-
create_state_space_tree(sequence, current_sequence, index + 1, index_used, result)
76+
create_state_space_tree(sequence,
77+
current_sequence,
78+
index + 1,
79+
index_used,
80+
result)
6881
current_sequence.pop()
6982
index_used[i] = False
7083

0 commit comments

Comments
 (0)