# Find the Largest element in an array

Problem Statement: Given an array, we have to find the largest element in the array.

Examples
```Example 1:
Input: arr[] = {2,5,1,3,0};
Output: 5
Explanation: 5 is the largest element in the array.

Example2:
Input: arr[] = {8,10,5,7,9};
Output: 10
Explanation: 10 is the largest element in the array.
```

Disclaimer: Don’t jump directly to the solution, try it out yourself first.

Brute Force Approach Optimal Approach
Brute Force Approach
Algorithm / Intuition

### Intuition:

We can sort the array in ascending order, hence the largest element will be at the last index of the array.

### Approach:

• Sort the array in ascending order.
• Print the (size of the array -1)th index.

### DryRun:

Before sorting: arr[] = {2,5,1,3,0};

After sorting: arr[] = {0,1,2,3,5};

Code
``````
#include<bits/stdc++.h>
using namespace std;

int sortArr(vector<int>& arr) {
sort(arr.begin(),arr.end());
return arr[arr.size()-1];
}

int main() {
vector<int> arr1 = {2,5,1,3,0};
vector<int> arr2 = {8,10,5,7,9};

cout<<"The Largest element in the array is: "<<sortArr(arr1)<<endl;
cout<<"The Largest element in the array is: "<<sortArr(arr2);

return 0;
}
```
```

Output:

The Largest element in the array is: 5
The Largest element in the array is: 10

``````
import java.util.*;
public class tuf {

public static void main(String args[]) {

int arr1[] =  {2,5,1,3,0};
System.out.println("The Largest element in the array is: " + sort(arr1));

int arr2[] =  {8,10,5,7,9};
System.out.println("The Largest element in the array is: " + sort(arr2));
}
static int sort(int arr[]) {
Arrays.sort(arr);
return arr[arr.length - 1];
}
}
```
```

Output:

The Largest element in the array is: 5
The Largest element in the array is: 10

``````
from typing import List
def sortArr(arr: List[int]) -> int:
arr.sort()
return arr[-1]
if __name__ == "__main__":
arr1 = [2, 5, 1, 3, 0]
arr2 = [8, 10, 5, 7, 9]
print("The Largest element in the array is:", sortArr(arr1))
print("The Largest element in the array is:", sortArr(arr2))
```
```

Output:

The Largest element in the array is: 5
The Largest element in the array is: 10

``````
function sortArr(arr) {
arr.sort((a, b) => a - b);
return arr[arr.length - 1];
}

const arr1 = [2, 5, 1, 3, 0];
const arr2 = [8, 10, 5, 7, 9];

console.log("The Largest element in the array is: " + sortArr(arr1));
console.log("The Largest element in the array is: " + sortArr(arr2));

```
```

Output:

The Largest element in the array is: 5
The Largest element in the array is: 10

Complexity Analysis

Time Complexity: O(N*log(N))

Space Complexity: O(n)

Recursive Approach
Algorithm / Intuition

### Intuition:

We can maintain a max variable that will update whenever the current value is greater than the value in the max variable.

### Approach:

• Create a max variable and initialize it with arr.
• Use a for loop and compare it with other elements of the array
• If any element is greater than the max value, update max value with the element’s value
• Print the max variable. Code
``````
#include <bits/stdc++.h>

using namespace std;
int findLargestElement(int arr[], int n) {

int max = arr;
for (int i = 0; i < n; i++) {
if (max < arr[i]) {
max = arr[i];
}
}
return max;
}
int main() {
int arr1[] = {2,5,1,3,0};
int n = 5;
int max = findLargestElement(arr1, n);
cout << "The largest element in the array is: " << max << endl;

int arr2[] =  {8,10,5,7,9};
n = 5;
max = findLargestElement(arr2, n);
cout << "The largest element in the array is: " << max<<endl;
return 0;
}

```
```

Output:

The largest element in the array is: 5
The largest element in the array is: 10

``````
import java.util.*;
public class tuf {

public static void main(String args[]) {

int arr1[] =  {2,5,1,3,0};
System.out.println("The Largest element in the array is: "+findLargestElement(ar
r1));

int arr2[] =  {8,10,5,7,9};
System.out.println("The Largest element in the array is: "+findLargestElement(ar
r2));
}
static int findLargestElement(int arr[]) {
int max= arr;
for (int i = 0; i < arr.length; i++) {
if (arr[i] > max) {
max= arr[i];
}
}
return max;
}
}
```
```

Output:

The largest element in the array is: 5
The largest element in the array is: 10

``````
def findLargestElement(arr, n):

max = arr
for i in range(0, n):
if (max < arr[i]):
max = arr[i]
return max

if __name__ == "__main__":
arr1 = [2, 5, 1, 3, 0]
n = 5
max = findLargestElement(arr1, n)
print("The largest element in the array is:", max)

arr2 = [8, 10, 5, 7, 9]
n = 5
max = findLargestElement(arr2, n)
print("The largest element in the array is:", max)
```
```

Output:

The largest element in the array is: 5
The largest element in the array is: 10

``````
function findLargestElement(arr) {
let max = arr;
for (let i = 0; i < arr.length; i++) {
if (max < arr[i]) {
max = arr[i];
}
}
return max;
}

const arr1 = [2, 5, 1, 3, 0];
let max = findLargestElement(arr1);
console.log("The largest element in the array is: " + max);

const arr2 = [8, 10, 5, 7, 9];
max = findLargestElement(arr2);
console.log("The largest element in the array is: " + max);
```
```

Output:

The largest element in the array is: 5
The largest element in the array is: 10

Complexity Analysis

Time Complexity: O(N)

Space Complexity: O(1)

Video Explanation