mirror of
https://github.com/TheAlgorithms/Python.git
synced 2025-03-15 02:59:50 +00:00
[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
This commit is contained in:
parent
dae072c0c7
commit
70c3869f42
@ -1,5 +1,6 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
|
||||||
def build_suffix_array(s: str) -> list[int]:
|
def build_suffix_array(s: str) -> list[int]:
|
||||||
"""
|
"""
|
||||||
Build the suffix array for the given string.
|
Build the suffix array for the given string.
|
||||||
@ -16,6 +17,7 @@ def build_suffix_array(s: str) -> list[int]:
|
|||||||
suffix_array = [suffix[1] for suffix in suffixes]
|
suffix_array = [suffix[1] for suffix in suffixes]
|
||||||
return suffix_array
|
return suffix_array
|
||||||
|
|
||||||
|
|
||||||
def build_lcp_array(s: str, suffix_array: list[int]) -> list[int]:
|
def build_lcp_array(s: str, suffix_array: list[int]) -> list[int]:
|
||||||
"""
|
"""
|
||||||
Build the LCP array for the given string and suffix array.
|
Build the LCP array for the given string and suffix array.
|
||||||
@ -47,6 +49,7 @@ def build_lcp_array(s: str, suffix_array: list[int]) -> list[int]:
|
|||||||
h -= 1 # Decrease h for the next suffix
|
h -= 1 # Decrease h for the next suffix
|
||||||
return lcp
|
return lcp
|
||||||
|
|
||||||
|
|
||||||
# Example usage
|
# Example usage
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
s = "banana"
|
s = "banana"
|
||||||
@ -59,4 +62,6 @@ if __name__ == "__main__":
|
|||||||
|
|
||||||
print("\nLCP Array:")
|
print("\nLCP Array:")
|
||||||
for i in range(1, len(lcp_array)):
|
for i in range(1, len(lcp_array)):
|
||||||
print(f"LCP between {s[suffix_array[i - 1]:]} and {s[suffix_array[i]]}: {lcp_array[i]}")
|
print(
|
||||||
|
f"LCP between {s[suffix_array[i - 1]:]} and {s[suffix_array[i]]}: {lcp_array[i]}"
|
||||||
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user