Wednesday, July 3, 2024
HomeData ModellingData Structure & AlgorithmCompare sum of first N-1 elements to Nth element of an array

Compare sum of first N-1 elements to Nth element of an array

Given an array arr[] of size N, the task is to check whether the sum of first N – 1 element of the array is equal to the last element.
Examples: 
 

Input: arr[] = {1, 2, 3, 4, 10} 
Output: Yes
Input: arr[] = {1, 2, 3, 4, 12} 
Output: No 
 

 

Approach: Find the sum of the first N – 1 elements from the array i.e. arr[0] + arr[1] + … + arr[N – 2] and compare it with arr[N – 1].
Below is the implementation of the above approach: 
 

C++




// C++ implementation of the approach
#include <iostream>
using namespace std;
 
// Function that returns true if sum of
// first n-1 elements of the array is
// equal to the last element
bool isSumEqual(int ar[], int n)
{
    int sum = 0;
 
    // Find the sum of first n-1
    // elements of the array
    for (int i = 0; i < n - 1; i++)
        sum += ar[i];
 
    // If sum equals to the last element
    if (sum == ar[n - 1])
        return true;
 
    return false;
}
 
// Driver code
int main()
{
    int arr[] = { 1, 2, 3, 4, 10 };
    int n = sizeof(arr) / sizeof(arr[0]);
 
    if (isSumEqual(arr, n))
        cout << "Yes";
    else
        cout << "No";
 
    return 0;
}


Java




// Java implementation of the approach
 
import java.io.*;
 
class GFG {
 
    // Function that returns true if sum of
    // first n-1 elements of the array is
    // equal to the last element
    static boolean isSumEqual(int ar[], int n)
    {
        int sum = 0;
 
        // Find the sum of first n-1
        // elements of the array
        for (int i = 0; i < n - 1; i++)
            sum += ar[i];
 
        // If sum equals to the last element
        if (sum == ar[n - 1])
            return true;
 
        return false;
    }
 
    // Driver code
    public static void main(String[] args)
    {
 
        int arr[] = { 1, 2, 3, 4, 10 };
        int n = arr.length;
 
        if (isSumEqual(arr, n))
            System.out.println("Yes");
        else
            System.out.println("No");
    }
}
 
// This code is contributed by jit_t.


Python3




# Python 3 implementation of the approach
 
# Function that returns true if sum of
# first n-1 elements of the array is
# equal to the last element
def isSumEqual(ar, n):
    sum = 0
 
    # Find the sum of first n-1
    # elements of the array
    for i in range(n - 1):
        sum += ar[i]
 
    # If sum equals to the last element
    if (sum == ar[n - 1]):
        return True
 
    return False
 
# Driver code
if __name__ == '__main__':
    arr = [1, 2, 3, 4, 10]
    n = len(arr)
 
    if (isSumEqual(arr, n)):
        print("Yes")
    else:
        print("No")
         
# This code is contributed by
# Surendra_Gangwar


C#




// C# implementation of the approach
using System;
 
class GFG {
 
    // Function that returns true if sum of
    // first n-1 elements of the array is
    // equal to the last element
    static bool isSumEqual(int[] ar, int n)
    {
        int sum = 0;
 
        // Find the sum of first n-1
        // elements of the array
        for (int i = 0; i < n - 1; i++)
            sum += ar[i];
 
        // If sum equals to the last element
        if (sum == ar[n - 1])
            return true;
 
        return false;
    }
 
    // Driver code
    static public void Main()
    {
        int[] arr = { 1, 2, 3, 4, 10 };
        int n = arr.Length;
 
        if (isSumEqual(arr, n))
            Console.WriteLine("Yes");
        else
            Console.WriteLine("No");
    }
}
 
// This code is contributed by ajit


PHP




<?php
// PHP implementation of the approach
 
// Function that returns true if sum of
// first n-1 elements of the array is
// equal to the last element
function isSumEqual($ar, $n)
{
    $sum = 0;
 
    // Find the sum of first n-1
    // elements of the array
    for ($i = 0; $i < $n - 1; $i++)
        $sum += $ar[$i];
 
    // If sum equals to the last element
    if ($sum == $ar[$n - 1])
        return true;
 
    return false;
}
 
// Driver code
$arr = array( 1, 2, 3, 4, 10 );
$n = count($arr);
 
if (isSumEqual($arr, $n))
    echo "Yes";
else
    echo "No";
     
// This code is contributed by AnkitRai01
 
?>


Javascript




<script>
    // Javascript implementation of the approach
     
    // Function that returns true if sum of
    // first n-1 elements of the array is
    // equal to the last element
    function isSumEqual(ar, n)
    {
        let sum = 0;
   
        // Find the sum of first n-1
        // elements of the array
        for (let i = 0; i < n - 1; i++)
            sum += ar[i];
   
        // If sum equals to the last element
        if (sum == ar[n - 1])
            return true;
   
        return false;
    }
     
    let arr = [ 1, 2, 3, 4, 10 ];
    let n = arr.length;
 
    if (isSumEqual(arr, n))
      document.write("Yes");
    else
      document.write("No");
     
</script>


Output: 

Yes

 

Time Complexity: O(n)

Auxiliary Space: O(1)

Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

Shaida Kate Naidoo
am passionate about learning the latest technologies available to developers in either a Front End or Back End capacity. I enjoy creating applications that are well designed and responsive, in addition to being user friendly. I thrive in fast paced environments. With a diverse educational and work experience background, I excel at collaborating with teams both local and international. A versatile developer with interests in Software Development and Software Engineering. I consider myself to be adaptable and a self motivated learner. I am interested in new programming technologies, and continuous self improvement.
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments