Эта проблема с проблемой является частью введения в секции массивов структур данных -101 в LeetCode.
Постановка задачи
Учитывая массив неотрицательной целыми числами, вернуть массив, состоящий из всех четных элементов A, а затем все нечетные элементы A.
Вы можете вернуть любой Array Array, который удовлетворяет этому условию.
Example 1: Input: [3,1,2,4] Output: [2,4,3,1] The outputs [4,2,3,1], [2,4,1,3], and [4,2,1,3] would also be accepted.
Примечание:
- <= A.length
- 0 [я]
Подход решения
- Итерация по списку.
- Добавьте четные элементы в список 1. Добавьте нечетные элементы в другой список.
- Добавьте нечетные элементы в список даже элементов, используя расширение.
class Solution: def sortArrayByParity(self, A: List[int]) -> List[int]: even_values = [] odd_values = [] for x in range(0, len(A)): if A[x] % 2 == 0: even_values.append(A[x]) else: odd_values.append(A[x]) even_values.extend(odd_values) return even_values
Учащиеся
- Сложность времени – O (n), космическая сложность – O (n)
- Сложность времени продления составляет 0 (k) – K – длина списка, которая будет расширена.
ДЕЛАТЬ
Оптимизируйте пространство сложности дальше от O (n) до O (1). Напишите установленное решение.
Оригинал: “https://dev.to/mridubhatnagar/day-7-sort-array-by-parity-38b3”