### Maximum Length of Subarray With Positive Product - Leet Code Solution

Problem Statement Maximum Length of Subarray With Positive Product. Given an…

September 03, 2020

Given an array nums, write a function to move all 0’s to the end of it while maintaining the relative order of the non-zero elements.

**Example**

```
Input: [0,1,0,3,12]
Output: [1,3,12,0,0]
```

We can keep a index variable which will keep a tab on all non-zero values.

On iteration, we can move each non-zero value to left side.

```
public void moveZeroes_simple(int[] nums) {
int left=0;
for (int i=0; i<nums.length; i++) {
if (nums[i] != 0) {
nums[left] = nums[i];
left ++;
}
}
//copy zeroes to remaining array
for (int i=left; i<nums.length; i++) {
nums[i] = 0;
}
}
```

Its `O(n)`

We can do a slight modification to above solution. The point where we just move non-zero value to left. We can do a swap as well.

```
public void moveZeroes(int[] nums) {
int left=0;
for (int i=0; i<nums.length; i++) {
if (nums[i] != 0) {
//swap
int t = nums[i];
nums[i] = nums[left];
nums[left] = t;
left ++;
}
}
}
```

Its `O(n)`

But, its better since we are not using another loop to copy zero.

Problem Statement Maximum Length of Subarray With Positive Product. Given an…

Problem Statement Roman numerals are represented by seven different symbols: I…

This topic is one of the most common studied. When somebody started preparation…

Problem Statement Given an array, rotate the array to the right by k steps…

Sorting Problems Merge Sort Quick Sort Heap Sort Bubble Sort Selection Sort…

A Binary Search tree (BST) is a data structure which has two children nodes…

Introduction In this post we will see following: How to schedule a job on cron…

Introduction There are some cases, where I need another git repository while…

Introduction In this post, we will see how to fetch multiple credentials and…

Introduction I have an automation script, that I want to run on different…

Introduction I had to write a CICD system for one of our project. I had to…

Introduction Java log4j has many ways to initialize and append the desired…