mirror of
https://github.com/TheAlgorithms/Python.git
synced 2024-10-06 05:39:30 +00:00
added type hints, for list and dict
This commit is contained in:
parent
cf2194dcb0
commit
6a0061a28d
|
@ -33,7 +33,7 @@ class CoordinateCompressor:
|
|||
the list.
|
||||
"""
|
||||
|
||||
def __init__(self, arr: list) -> None:
|
||||
def __init__(self, arr: list[int | float | str]) -> None:
|
||||
"""
|
||||
Initialize the CoordinateCompressor with a list.
|
||||
|
||||
|
@ -51,8 +51,14 @@ class CoordinateCompressor:
|
|||
|
||||
"""
|
||||
|
||||
self.coordinate_map = {} # A dictionary to store compressed coordinates
|
||||
self.reverse_map = [-1] * (len(arr)) # A list to store reverse mapping
|
||||
self.coordinate_map: dict[
|
||||
int | float | str, int
|
||||
] = {} # A dictionary to store compressed coordinates
|
||||
|
||||
self.reverse_map: list[int | float | str] = [-1] * (
|
||||
len(arr)
|
||||
) # A list to store reverse mapping
|
||||
|
||||
self.arr = sorted(arr) # The input list
|
||||
self.n = len(arr) # The length of the input list
|
||||
self.compress_coordinates()
|
||||
|
@ -78,12 +84,12 @@ class CoordinateCompressor:
|
|||
self.reverse_map[key] = val
|
||||
key += 1
|
||||
|
||||
def compress(self, original: any) -> int:
|
||||
def compress(self, original: float | str) -> int:
|
||||
"""
|
||||
Compress a single value.
|
||||
|
||||
Args:
|
||||
original (any) : The value to compress.
|
||||
original (int | float | str) : The value to compress.
|
||||
|
||||
Returns:
|
||||
int: The compressed integer, or -1 if not found in the original list.
|
||||
|
@ -98,7 +104,7 @@ class CoordinateCompressor:
|
|||
"""
|
||||
return self.coordinate_map.get(original, -1)
|
||||
|
||||
def decompress(self, num: int) -> any:
|
||||
def decompress(self, num: int) -> int | float | str:
|
||||
"""
|
||||
Decompress a single integer.
|
||||
|
||||
|
@ -106,7 +112,7 @@ class CoordinateCompressor:
|
|||
num (int): The compressed integer to decompress.
|
||||
|
||||
Returns:
|
||||
original value (any) : The original value.
|
||||
original value (int | float | str) : The original value.
|
||||
|
||||
>>> arr = [100, 10, 52, 83]
|
||||
>>> cc = CoordinateCompressor(arr)
|
||||
|
@ -124,10 +130,10 @@ if __name__ == "__main__":
|
|||
|
||||
testmod()
|
||||
|
||||
arr = [100, 10, 52, 83]
|
||||
arr: list[int | float | str] = [100, 10, 52, 83]
|
||||
cc = CoordinateCompressor(arr)
|
||||
compressed = [0] * len(arr)
|
||||
decompressed = [0] * len(arr)
|
||||
compressed: list[int] = [0] * len(arr)
|
||||
decompressed: list[int | float | str] = [0] * len(arr)
|
||||
|
||||
for i, original in enumerate(arr):
|
||||
compressed[i] = cc.compress(original)
|
||||
|
|
Loading…
Reference in New Issue
Block a user