← All questions
MediumCoding

Rearrange array elements by sign

Asked atExpedia
1Give yourself 5 minutes
2Answer out loud, not in your head
3Then compare with the answer below

The problem

Given an integer array **nums of even length consisting of an equal number of positive and negative **integers.Return the answer array in such a way that the given conditions are met:

  • Every consecutive** **pair of integers have opposite signs.

  • For all integers with the same sign, the order in which they were present in nums** **is preserved.

  • The rearranged** array begins with a positive **integer.

Input : nums = [2, 4, 5, -1, -3, -4] **Output **: [2, -1, 4, -3, 5, -4] Explanation: The positive number 2, 4, 5 maintain their relative positions and -1, -3, -4 maintain their relative positions

**Input **: nums = [1, -1, -3, -4, 2, 3] **Output **: [1, -1, 2, -3, 3, -4] Explanation: The positive number 1, 2, 3 maintain their relative positions and -1, -3, -4 maintain their relative positions

Input: nums = [-4, 4, -4, 4, -4, 4]

  • 2 <= nums.length <= 105
  • 1 <= | nums[i] | <= 104
  • nums.length is an even number.
  • Number of positive and negative numbers are equal.

cpp

class Solution {
public:
    vector<int> rearrangeArray(vector<int>& nums) {
        
    }
};

java

class Solution {
    public int[] rearrangeArray(int[] nums) {
        
    }
}

python

class Solution:
    def rearrangeArray(self, nums):

javascript

class Solution {
    rearrangeArray(nums) {

    }
}

csharp

public class Solution {
    public int[] RearrangeArray(int[] nums) {
        // Write your code here
    }
}

go

func rearrangeArray(nums []int) []int {
	//your code goes here
}
Solve on LeetCode →
Stuck? Show a way to structure it+
  1. 01Clarify count guarantee
  2. 02Allocate result or use positions
  3. 03Place positives at even indexes
  4. 04Place negatives at odd indexes
  5. 05State complexity

Reference answer

Then expect these follow-ups

  • Why is relative order preserved?

    Tests: correctness reasoning

  • How changes when counts are unequal?

    Tests: constraint adaptation

Free to read · better with Enzo

Practice this out loud with Enzo

Enzo runs it as a mock interview, pushes back with follow-ups, and grades you on the rubric.

Next question