Дано: массив целых чисел nums четной длины, состоящий из равного количества положительных и отрицательных целых чисел.
Необходимо переставить элементы nums таким образом, чтобы измененный массив соответствовал заданным условиям:
- Каждое следующее число имеет противоположный знак.
- Для всех целых чисел с одинаковым знаком сохраняется порядок, в котором они находились в nums.
- Переупорядоченный массив начинается с положительного целого числа.
Пример 1:
Дано: nums = [3,1,-2,-5,2,-4]
Ответ: [3,-2,1,-5,2,-4]
Пример 2:
Дано: nums = [-1,1]
Ответ: [1,-1]
Ограничения:
2 <= nums.length <= 2 * 10^5
длина nums.length четная
1 <= |nums[i]| <= 10^5
nums состоит из одинакового количества положительных и отрицательных целых чисел. Решение: class Solution:
def rearrangeArray(self, nums: List[int]) -> List[int]:
rearranged = [0] * len(nums)
positive_index, negative_index = 0, 1
for num in nums:
if num > 0:
rearranged[positive_index] = num