Class Solution
-
- All Implemented Interfaces:
public final class Solution2149 - Rearrange Array Elements by Sign\.
Medium
You are given a 0-indexed integer array
numsof even length consisting of an equal number of positive and negative integers.You should rearrange the elements of
numssuch that the modified array follows the given conditions:Every consecutive pair of integers have opposite signs.
For all integers with the same sign, the order in which they were present in
numsis preserved.The rearranged array begins with a positive integer.
Return the modified array after rearranging the elements to satisfy the aforementioned conditions.
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.
Constraints:
<code>2 <= nums.length <= 2 * 10<sup>5</sup></code>
nums.lengthis even<code>1 <= |numsi| <= 10<sup>5</sup></code>
numsconsists of equal number of positive and negative integers.
-
-
Constructor Summary
Constructors Constructor Description Solution()
-
Method Summary
Modifier and Type Method Description final IntArrayrearrangeArray(IntArray nums)-
-
Method Detail
-
rearrangeArray
final IntArray rearrangeArray(IntArray nums)
-
-
-
-