Sort Array By Parity - Array - Easy - LeetCode
💻 coding

Sort Array By Parity - Array - Easy - LeetCode

1 min read 132 words
1 min read
ShareWhatsAppPost on X
  • 1The task is to rearrange an array of non-negative integers by placing all even elements before odd elements.
  • 2Multiple valid output arrays are acceptable as long as the even-odd condition is met.
  • 3The provided solution has a time complexity of O(n) and a space complexity of O(1).

AI-generated summary · May not capture all nuances

Key Insight
AskGif

"The task is to rearrange an array of non-negative integers by placing all even elements before odd elements."

Sort Array By Parity - Array - Easy - LeetCode

Given an array A of non-negative integers, return an array consisting of all the even elements of A, followed by all the odd elements of A.

You may return any answer array that satisfies this condition.

Example 1:

Input: [3,1,2,4] Output: [2,4,3,1] The outputs [4,2,3,1], [2,4,1,3], and [4,2,1,3] would also be accepted.

Note:

1 <= A.length <= 5000 0 <= A[i] <= 5000

public class Solution {
 public int[] SortArrayByParity(int[] A) {
 if(A.Length < 1){
 return A;
 }
 
 int leftOddIndex = 0;
 int rightEvenIndex = 0;
 
 for(int i=0;i<A.Length;i++){
 if(A[i]%2==1){
 leftOddIndex = i;
 break;
 }
 }
 
 for(int i=A.Length-1;i>=0;i--){
 if(A[i]%2==0){
 rightEvenIndex = i;
 break;
 }
 }
 
 while(leftOddIndex<rightEvenIndex){
 if(A[leftOddIndex]%2==0){
 leftOddIndex++;
 continue;
 }
 if(A[rightEvenIndex]%2==1){
 rightEvenIndex--;
 continue;
 }
 int temp = A[leftOddIndex];
 A[leftOddIndex]=A[rightEvenIndex];
 A[rightEvenIndex]=temp;
 leftOddIndex++;
 rightEvenIndex--;
 }
 
 return A;
 }
}

Time Complexity: O(n)

Space Complexity: O(1)

Enjoyed this article?

Share it with someone who'd find it useful.

ShareWhatsAppPost on X

sumitc91

Published on 27 September 2020 · 1 min read · 132 words

Part of AskGif Blog · coding

You might also like

Sort Array By Parity - Array - Easy - LeetCode | AskGif Blog