MCPcopy Index your code
hub / github.com/TheAlgorithms/Python / all_rotations

Function all_rotations

data_compression/burrows_wheeler.py:24–51  ·  view source on GitHub ↗

:param s: The string that will be rotated len(s) times. :return: A list with the rotations. :raises TypeError: If s is not an instance of str. Examples: >>> all_rotations("^BANANA|") # doctest: +NORMALIZE_WHITESPACE ['^BANANA|', 'BANANA|^', 'ANANA|^B', 'NANA|^BA', 'ANA|^BAN

(s: str)

Source from the content-addressed store, hash-verified

22
23
24def all_rotations(s: str) -> list[str]:
25 """
26 :param s: The string that will be rotated len(s) times.
27 :return: A list with the rotations.
28 :raises TypeError: If s is not an instance of str.
29 Examples:
30
31 >>> all_rotations("^BANANA|") # doctest: +NORMALIZE_WHITESPACE
32 ['^BANANA|', 'BANANA|^', 'ANANA|^B', 'NANA|^BA', 'ANA|^BAN', 'NA|^BANA',
33 'A|^BANAN', '|^BANANA']
34 >>> all_rotations("a_asa_da_casa") # doctest: +NORMALIZE_WHITESPACE
35 ['a_asa_da_casa', '_asa_da_casaa', 'asa_da_casaa_', 'sa_da_casaa_a',
36 'a_da_casaa_as', '_da_casaa_asa', 'da_casaa_asa_', 'a_casaa_asa_d',
37 '_casaa_asa_da', 'casaa_asa_da_', 'asaa_asa_da_c', 'saa_asa_da_ca',
38 'aa_asa_da_cas']
39 >>> all_rotations("panamabanana") # doctest: +NORMALIZE_WHITESPACE
40 ['panamabanana', 'anamabananap', 'namabananapa', 'amabananapan',
41 'mabananapana', 'abananapanam', 'bananapanama', 'ananapanamab',
42 'nanapanamaba', 'anapanamaban', 'napanamabana', 'apanamabanan']
43 >>> all_rotations(5)
44 Traceback (most recent call last):
45 ...
46 TypeError: The parameter s type must be str.
47 """
48 if not isinstance(s, str):
49 raise TypeError("The parameter s type must be str.")
50
51 return [s[i:] + s[:i] for i in range(len(s))]
52
53
54def bwt_transform(s: str) -> BWTTransformDict:

Callers 1

bwt_transformFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected