Skip to main content

Paritysort

def sortArrayByParity(A):
result = []
even_counts = 0
for i in A:
result.append(i)
if i % 2 == 0:
print(even_counts)
if len(result) > 1:
result[even_counts], result[-1] = result[-1], result[even_counts]
even_counts += 1
return result


def sortArrayByParity2(A):
index_of_oldest_odd = 0
for i in range(0, len(A)):
if A[i] % 2 == 0:
A[index_of_oldest_odd], A[i] = A[i], A[index_of_oldest_odd]
index_of_oldest_odd += 1

return A


if __name__ == "__main__":
print(sortArrayByParity2([4, 2, 3, 1]))

print(sortArrayByParity2([4]))
print(sortArrayByParity2([3]))
print(sortArrayByParity2([4, 2]))
print(sortArrayByParity2([3, 4]))
print(sortArrayByParity2([4, 4]))
print(sortArrayByParity2([3, 1, 2, 4, 5]))
print(sortArrayByParity2([3, 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, 1, 2, 4, 5, 5, 5, 0]))


Updated on 2020-03-19