Чтобы проверить, чередуется ли массив, вы можете использовать несколько методов Python. Вот несколько примеров:
Метод 1: использование цикла
def is_alternating(arr):
n = len(arr)
for i in range(n - 1):
if arr[i] == arr[i + 1]:
return False
return True
# Example usage
array1 = [1, 2, 1, 2, 1, 2]
array2 = [1, 2, 3, 4, 5, 6]
print(is_alternating(array1)) # Output: True
print(is_alternating(array2)) # Output: False
Метод 2: использование понимания списка
def is_alternating(arr):
return all(arr[i] != arr[i + 1] for i in range(len(arr) - 1))
# Example usage
array1 = [1, 2, 1, 2, 1, 2]
array2 = [1, 2, 3, 4, 5, 6]
print(is_alternating(array1)) # Output: True
print(is_alternating(array2)) # Output: False
Метод 3: использование set
def is_alternating(arr):
return len(set(arr)) == len(arr)
# Example usage
array1 = [1, 2, 1, 2, 1, 2]
array2 = [1, 2, 3, 4, 5, 6]
print(is_alternating(array1)) # Output: True
print(is_alternating(array2)) # Output: False
Метод 4: использование нарезки
def is_alternating(arr):
return arr[::2] != arr[1::2]
# Example usage
array1 = [1, 2, 1, 2, 1, 2]
array2 = [1, 2, 3, 4, 5, 6]
print(is_alternating(array1)) # Output: True
print(is_alternating(array2)) # Output: False
Метод 5. Использование itertools
from itertools import groupby
def is_alternating(arr):
return all(k for k, _ in groupby(arr))
# Example usage
array1 = [1, 2, 1, 2, 1, 2]
array2 = [1, 2, 3, 4, 5, 6]
print(is_alternating(array1)) # Output: True
print(is_alternating(array2)) # Output: False