Плюс, минус, плюс

В списке поровну положительных и отрицательных чисел, и их нужно аккуратно перемешать по знакам. Результат должен начинаться с положительного числа, дальше знаки должны чередоваться: плюс, минус, плюс, минус. Важно сохранить относительный порядок внутри положительных чисел и внутри отрицательных чисел. Верни новый переставленный список.

Примеры

Ввод
[3, 1, -2, -5, 2, -4]
Вывод
[3, -2, 1, -5, 2, -4]
Ввод
[-1, 1]
Вывод
[1, -1]
Ввод
[1, -1, 2, -2]
Вывод
[1, -1, 2, -2]

Нужно реализовать

def rearrange_array(nums: list[int]) -> list[int]:

Теги

arraytwo-pointers
PostgreSQLv16

Здесь будет результат выполнения кода

Видимые тесты
1
Ввод
[3,1,-2,-5,2,-4]
Ожидаемый[3,-2,1,-5,2,-4]
2
Ввод
[-1,1]
Ожидаемый[1,-1]
3
Ввод
[1,-1,2,-2]
Ожидаемый[1,-1,2,-2]
4
Ввод
[-3,3]
Ожидаемый[3,-3]
5
Ввод
[5,-5,6,-6,7,-7]
Ожидаемый[5,-5,6,-6,7,-7]
6
Ввод
[2,-1,-3,4]
Ожидаемый[2,-1,4,-3]
Фокус-радио
На паузе · SomaFM · Fluid