#2149
Rearrange Array Elements by Sign
pupil · 400 · lc medium +24 · verified · 84.6% accepted · 4,146 likes · top 96%
Description
You are given a 0-indexed integer array nums of even length with an equal count of positive and negative integers.
Rearrange nums so that:
- Adjacent pairs always consist of one positive and one negative integer.
- Elements of the same sign preserve their original relative order.
- The rearranged array starts with a positive integer.
Return the rearranged array.
Example 1:
Input: nums = [3,1,-2,-5,2,-4]
Output: [3,-2,1,-5,2,-4]
Explanation:
The positive integers in nums are [3,1,2]. The negative integers are [-2,-5,-4].
The only possible way to rearrange them such that they satisfy all conditions is [3,-2,1,-5,2,-4].
Other ways such as [1,-2,2,-5,3,-4], [3,1,2,-2,-5,-4], [-2,3,-5,1,-4,2] are incorrect because they do not satisfy one or more conditions.
Example 2:
Input: nums = [-1,1]
Output: [1,-1]
Explanation:
1 is the only positive integer and -1 the only negative integer in nums.
So nums is rearranged to [1,-1].
Code
1
2
3