# Longest subarray with all even or all odd elements

Given an array of integer elements which contain random elements of even and odd number. Our goal is to find the length which is longest length of even or odd number. For example.

``````Input arr: [9 , 2 , 4 , 1 , 3 , 6 , 4 , 8 , 0 , 2 , 1 , 3 , 9]
Output : 5
// Here [6, 4, 8, 0, 2] Longest length subarray which include Even number

``````

Here given code implementation process.

``````// Java program for
// Longest subarray with all even or all odd elements
public class Subarray
{
public int longestSubarray(int[] arr, int n)
{
int result = 0;
int even = 0;
int odd = 0;
for (int i = 0; i < n; ++i)
{
if (arr[i] % 2 == 0)
{
// When element is even
even++;
// Reset odd
odd = 0;
}
else
{
// When element is odd
odd++;
// Reset even
even = 0;
}
if (result < even)
{
// When new Even subarray larger
result = even;
}
if (result < odd)
{
// When new Odd subarray larger
result = odd;
}
}
// Return the calculated result
return result;
}
public static void main(String[] args)
{
int[] arr = {
9 , 2 , 4 , 1 , 3 , 6 , 4 , 8 , 0 , 2 , 1 , 3 , 9
};
int n = arr.length;
// Input : [9,2,4, 1, 3, 6, 4, 8, 0, 2, 1, 3, 9]
// [6, 4, 8, 0, 2] Max Length Of Even elements subarray
// Output : 5
System.out.print("\n Result : " + result);
}
}``````

#### Output

`` Result : 5``
``````// C program for
// Longest subarray with all even or all odd elements
#include <stdio.h>

int longestSubarray(int arr[], int n)
{
int result = 0;
int even = 0;
int odd = 0;
for (int i = 0; i < n; ++i)
{
if (arr[i] % 2 == 0)
{
// When element is even
even++;
// Reset odd
odd = 0;
}
else
{
// When element is odd
odd++;
// Reset even
even = 0;
}
if (result < even)
{
// When new Even subarray larger
result = even;
}
if (result < odd)
{
// When new Odd subarray larger
result = odd;
}
}
// Return the calculated result
return result;
}
int main(int argc, char const *argv[])
{
int arr[] = {
9 , 2 , 4 , 1 , 3 , 6 , 4 , 8 , 0 , 2 , 1 , 3 , 9
};
int n = sizeof(arr) / sizeof(arr[0]);
int result = longestSubarray(arr, n);
// Input : [9,2,4, 1, 3, 6, 4, 8, 0, 2, 1, 3, 9]
// [6, 4, 8, 0, 2] Max Length Of Even elements subarray
// Output : 5
printf("\n Result : %d", result);
return 0;
}``````

#### Output

`` Result : 5``
``````// Include header file
#include <iostream>
using namespace std;
// C++ program for
// Longest subarray with all even or all odd elements
class Subarray
{
public: int longestSubarray(int arr[], int n)
{
int result = 0;
int even = 0;
int odd = 0;
for (int i = 0; i < n; ++i)
{
if (arr[i] % 2 == 0)
{
// When element is even
even++;
// Reset odd
odd = 0;
}
else
{
// When element is odd
odd++;
// Reset even
even = 0;
}
if (result < even)
{
// When new Even subarray larger
result = even;
}
if (result < odd)
{
// When new Odd subarray larger
result = odd;
}
}
// Return the calculated result
return result;
}
};
int main()
{
int arr[] = {
9 , 2 , 4 , 1 , 3 , 6 , 4 , 8 , 0 , 2 , 1 , 3 , 9
};
int n = sizeof(arr) / sizeof(arr[0]);
// Input : [9,2,4, 1, 3, 6, 4, 8, 0, 2, 1, 3, 9]
// [6, 4, 8, 0, 2] Max Length Of Even elements subarray
// Output : 5
cout << "\n Result : " << result;
return 0;
}``````

#### Output

`` Result : 5``
``````package main
import "fmt"
// Go program for
// Longest subarray with all even or all odd elements

func longestSubarray(arr[] int, n int) int {
var result int = 0
var even int = 0
var odd int = 0
for i := 0 ; i < n ; i++ {
if arr[i] % 2 == 0 {
// When element is even
even++
// Reset odd
odd = 0
} else {
// When element is odd
odd++
// Reset even
even = 0
}
if result < even {
// When new Even subarray larger
result = even
}
if result < odd {
// When new Odd subarray larger
result = odd
}
}
// Return the calculated result
return result
}
func main() {
var arr = [] int {
9,
2,
4,
1,
3,
6,
4,
8,
0,
2,
1,
3,
9,
}
var n int = len(arr)
var result int = longestSubarray(arr, n)
// Input : [9,2,4, 1, 3, 6, 4, 8, 0, 2, 1, 3, 9]
// [6, 4, 8, 0, 2] Max Length Of Even elements subarray
// Output : 5
fmt.Print("\n Result : ", result)
}``````

#### Output

`` Result : 5``
``````// Include namespace system
using System;
namespace KalkiCode
{
// Csharp program for
// Longest subarray with all even or all odd elements
public class Subarray
{
public int longestSubarray(int[] arr, int n)
{
var result = 0;
var even = 0;
var odd = 0;
for (var i = 0; i < n; ++i)
{
if (arr[i] % 2 == 0)
{
// When element is even
even++;
// Reset odd
odd = 0;
}
else
{
// When element is odd
odd++;
// Reset even
even = 0;
}
if (result < even)
{
// When new Even subarray larger
result = even;
}
if (result < odd)
{
// When new Odd subarray larger
result = odd;
}
}
// Return the calculated result
return result;
}
public static void Main(String[] args)
{
int[] arr = {
9 , 2 , 4 , 1 , 3 , 6 , 4 , 8 , 0 , 2 , 1 , 3 , 9
};
var n = arr.Length;
// Input : [9,2,4, 1, 3, 6, 4, 8, 0, 2, 1, 3, 9]
// [6, 4, 8, 0, 2] Max Length Of Even elements subarray
// Output : 5
Console.Write("\n Result : " + result.ToString());
}
}
}``````

#### Output

`` Result : 5``
``````<?php
// Php program for
// Longest subarray with all even or all odd elements
class Subarray
{
public	function longestSubarray(\$arr, \$n)
{
\$result = 0;
\$even = 0;
\$odd = 0;
for (\$i = 0; \$i < \$n; ++\$i)
{
if (\$arr[\$i] % 2 == 0)
{
// When element is even
\$even++;
// Reset odd
\$odd = 0;
}
else
{
// When element is odd
\$odd++;
// Reset even
\$even = 0;
}
if (\$result < \$even)
{
// When new Even subarray larger
\$result = \$even;
}
if (\$result < \$odd)
{
// When new Odd subarray larger
\$result = \$odd;
}
}
// Return the calculated result
return \$result;
}
public static
function main(\$args)
{
\$arr = array(9, 2, 4, 1, 3, 6, 4, 8, 0, 2, 1, 3, 9);
\$n = count(\$arr);
// Input : [9,2,4, 1, 3, 6, 4, 8, 0, 2, 1, 3, 9]
// [6, 4, 8, 0, 2] Max Length Of Even elements subarray
// Output : 5
printf("%s", "\n Result : ".strval(\$result));
}
}
Subarray::main(array());``````

#### Output

`` Result : 5``
``````// Node JS program for
// Longest subarray with all even or all odd elements
class Subarray
{
longestSubarray(arr, n)
{
var result = 0;
var even = 0;
var odd = 0;
for (var i = 0; i < n; ++i)
{
if (arr[i] % 2 == 0)
{
// When element is even
even++;
// Reset odd
odd = 0;
}
else
{
// When element is odd
odd++;
// Reset even
even = 0;
}
if (result < even)
{
// When new Even subarray larger
result = even;
}
if (result < odd)
{
// When new Odd subarray larger
result = odd;
}
}
// Return the calculated result
return result;
}
}

function main()
{
var arr = [9, 2, 4, 1, 3, 6, 4, 8, 0, 2, 1, 3, 9];
var n = arr.length;
// Input : [9,2,4, 1, 3, 6, 4, 8, 0, 2, 1, 3, 9]
// [6, 4, 8, 0, 2] Max Length Of Even elements subarray
// Output : 5
process.stdout.write("\n Result : " + result);
}
// Start program execution
main();``````

#### Output

`` Result : 5``
``````#  Python 3 program for
#  Longest subarray with all even or all odd elements
class Subarray :
def longestSubarray(self, arr, n) :
result = 0
even = 0
odd = 0
i = 0
while (i < n) :
if (arr[i] % 2 == 0) :
#  When element is even
even += 1
#  Reset odd
odd = 0
else :
#  When element is odd
odd += 1
#  Reset even
even = 0

if (result < even) :
#  When new Even sublist larger
result = even

if (result < odd) :
#  When new Odd sublist larger
result = odd

i += 1

#  Return the calculated result
return result

def main() :
arr = [9, 2, 4, 1, 3, 6, 4, 8, 0, 2, 1, 3, 9]
n = len(arr)
#  Input : [9,2,4, 1, 3, 6, 4, 8, 0, 2, 1, 3, 9]
#  [6, 4, 8, 0, 2] Max Length Of Even elements sublist
#  Output : 5
print("\n Result : ", result, end = "")

if __name__ == "__main__": main()``````

#### Output

`` Result :  5``
``````#  Ruby program for
#  Longest subarray with all even or all odd elements
class Subarray
def longestSubarray(arr, n)
result = 0
even = 0
odd = 0
i = 0
while (i < n)
if (arr[i] % 2 == 0)
#  When element is even
even += 1
#  Reset odd
odd = 0
else

#  When element is odd
odd += 1
#  Reset even
even = 0
end

if (result < even)
#  When new Even subarray larger
result = even
end

if (result < odd)
#  When new Odd subarray larger
result = odd
end

i += 1
end

#  Return the calculated result
return result
end

end

def main()
arr = [9, 2, 4, 1, 3, 6, 4, 8, 0, 2, 1, 3, 9]
n = arr.length
#  Input : [9,2,4, 1, 3, 6, 4, 8, 0, 2, 1, 3, 9]
#  [6, 4, 8, 0, 2] Max Length Of Even elements subarray
#  Output : 5
print("\n Result : ", result)
end

main()``````

#### Output

`` Result : 5``
``````// Scala program for
// Longest subarray with all even or all odd elements
class Subarray()
{
def longestSubarray(arr: Array[Int], n: Int): Int = {
var result: Int = 0;
var even: Int = 0;
var odd: Int = 0;
var i: Int = 0;
while (i < n)
{
if (arr(i) % 2 == 0)
{
// When element is even
even += 1;
// Reset odd
odd = 0;
}
else
{
// When element is odd
odd += 1;
// Reset even
even = 0;
}
if (result < even)
{
// When new Even subarray larger
result = even;
}
if (result < odd)
{
// When new Odd subarray larger
result = odd;
}
i += 1;
}
// Return the calculated result
return result;
}
}
object Main
{
def main(args: Array[String]): Unit = {
var task: Subarray = new Subarray();
var arr: Array[Int] = Array(9, 2, 4, 1, 3, 6, 4, 8, 0, 2, 1, 3, 9);
var n: Int = arr.length;
var result: Int = task.longestSubarray(arr, n);
// Input : [9,2,4, 1, 3, 6, 4, 8, 0, 2, 1, 3, 9]
// [6, 4, 8, 0, 2] Max Length Of Even elements subarray
// Output : 5
print("\n Result : " + result);
}
}``````

#### Output

`` Result : 5``
``````import Foundation;
// Swift 4 program for
// Longest subarray with all even or all odd elements
class Subarray
{
func longestSubarray(_ arr: [Int], _ n: Int) -> Int
{
var result: Int = 0;
var even: Int = 0;
var odd: Int = 0;
var i: Int = 0;
while (i < n)
{
if (arr[i] % 2 == 0)
{
// When element is even
even += 1;
// Reset odd
odd = 0;
}
else
{
// When element is odd
odd += 1;
// Reset even
even = 0;
}
if (result < even)
{
// When new Even subarray larger
result = even;
}
if (result < odd)
{
// When new Odd subarray larger
result = odd;
}
i += 1;
}
// Return the calculated result
return result;
}
}
func main()
{
let arr: [Int] = [9, 2, 4, 1, 3, 6, 4, 8, 0, 2, 1, 3, 9];
let n: Int = arr.count;
let result: Int = task.longestSubarray(arr, n);
// Input : [9,2,4, 1, 3, 6, 4, 8, 0, 2, 1, 3, 9]
// [6, 4, 8, 0, 2] Max Length Of Even elements subarray
// Output : 5
print("\n Result : ", result, terminator: "");
}
main();``````

#### Output

`` Result :  5``
``````// Kotlin program for
// Longest subarray with all even or all odd elements
class Subarray
{
fun longestSubarray(arr: Array < Int > , n: Int): Int
{
var result: Int = 0;
var even: Int = 0;
var odd: Int = 0;
var i: Int = 0;
while (i < n)
{
if (arr[i] % 2 == 0)
{
// When element is even
even += 1;
// Reset odd
odd = 0;
}
else
{
// When element is odd
odd += 1;
// Reset even
even = 0;
}
if (result < even)
{
// When new Even subarray larger
result = even;
}
if (result < odd)
{
// When new Odd subarray larger
result = odd;
}
i += 1;
}
// Return the calculated result
return result;
}
}
fun main(args: Array < String > ): Unit
{
val arr: Array < Int > = arrayOf(9, 2, 4, 1, 3, 6, 4, 8, 0, 2, 1, 3, 9);
val n: Int = arr.count();
val result: Int = task.longestSubarray(arr, n);
// Input : [9,2,4, 1, 3, 6, 4, 8, 0, 2, 1, 3, 9]
// [6, 4, 8, 0, 2] Max Length Of Even elements subarray
// Output : 5
print("\n Result : " + result);
}``````

#### Output

`` Result : 5``

## Comment

Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.