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. 

Solution

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

Solution1: Sorting

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};

Hence answer : arr[sizeofthearray-1] =5

Code:

C++ 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

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

Space Complexity: O(n)

Java Code

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

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

Space Complexity: O(n)

Python Code

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

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

Space Complexity: O(n)

Solution2: Using a max variable

Intuition: We can maintain a max variable which 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[0].
  • 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:

C++ Code

#include <bits/stdc++.h>
 
using namespace std;
int findLargestElement(int arr[], int n) {
 
  int max = arr[0];
  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

Time Complexity: O(N)

Space Complexity: O(1)

Java Code

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[0];
    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

Time Complexity: O(N)

Space Complexity: O(1)

Python Code

def findLargestElement(arr, n):


    max = arr[0]
    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

Time Complexity: O(N)

Space Complexity: O(1)

Special thanks to Prashant Sahu and Sudip Ghosh for contributing to this article on takeUforward. If you also wish to share your knowledge with the takeUforward fam, please check out this article