Skip to content
Related Articles

Related Articles

Replace every element of the array by sum of all other elements
  • Difficulty Level : Easy
  • Last Updated : 03 Oct, 2018

Given an array of size N, the task is to find the encrypted array. The encrypted array is obtained by replacing each element of the original array with the sum of the remaining array elements i.e.

For every i,
arr[i] = sumOfArrayElements – arr[i]

Examples:

Input:  arr[] = {5, 1, 3, 2, 4} 
Output: 10 14 12 13 11
Original array {5, 1, 3, 2, 4}
Encrypted array is obtained as:
= {1+3+2+4, 5+3+2+4, 5+1+2+4, 5+1+3+4, 5+1+3+2}
= {10, 14, 12, 13, 11}
Each element of original array is replaced by the 
sum of the remaining array elements.  

Input: arr[] = {6, 8, 32, 12, 14, 10, 25 }
Output: 101 99 75 95 93 97 82 



This problem is similar to Find original array from encrypted array (An array of sums of other elements).

Approach:



  1. Find the sum of all elements of the array.
  2. Traverse the array and replace arr[i] with the sum-arr[i].

C++




// C++ implementation to find encrypted array
// from the original array
#include <bits/stdc++.h>
using namespace std;
  
// Finds and prints the elements of the encrypted
// array
void findEncryptedArray(int arr[], int n)
{
    // total sum of elements
    // of original array
    int sum = 0;
    for (int i = 0; i < n; i++)
        sum += arr[i];
  
    // calculating and displaying
    // elements of encrypted array
    for (int i = 0; i < n; i++)
        cout << (sum - arr[i]) << " ";
}
  
// Driver program
int main()
{
    int arr[] = { 5, 1, 3, 2, 4 };
    int N = sizeof(arr) / sizeof(arr[0]);
    findEncryptedArray(arr, N);
    return 0;
}


Java




// Java implementation to find encrypted
// array from the original  array
  
class GFG {
    // Finds and prints the elements
    // of the encrypted array
    static void findEncryptedArray(int arr[], int n)
    {
        // total sum of elements
        // of original array
        int sum = 0;
        for (int i = 0; i < n; i++)
            sum += arr[i];
  
        // calculating and displaying
        // elements of encrypted array
        for (int i = 0; i < n; i++)
            System.out.print(sum - arr[i] + " ");
    }
  
    // Driver program
    public static void main(String[] args)
    {
        int arr[] = { 5, 1, 3, 2, 4 };
        int N = arr.length;
        findEncryptedArray(arr, N);
    }
}


Python 3




# Python 3 implementation 
# to find encrypted array 
# from the original array 
  
# Finds and prints the elements 
# of the encrypted array
def findEncryptedArray(arr, n) :
    sum = 0
  
    # total sum of elements 
    # of original array 
    for i in range(n) :
        sum += arr[i]
  
    # calculating and displaying 
    # elements of encrypted array 
    for i in range(n) :
        print(sum - arr[i], end = " ")
          
# Driver Code
if __name__ == "__main__" :
  
    arr = [ 5, 1, 3, 2, 4]
    N = len(arr)
      
    # function calling 
    findEncryptedArray(arr, N)
  
# This code is contributed by ANKITRAI1


C#




// C# implementation to find 
// encrypted array from the 
// original array
using System;
  
class GFG
{
// Finds and prints the elements
// of the encrypted array
static void findEncryptedArray(int []arr, 
                               int n)
{
    // total sum of elements
    // of original array
    int sum = 0;
    for (int i = 0; i < n; i++)
        sum += arr[i];
  
    // calculating and displaying
    // elements of encrypted array
    for (int i = 0; i < n; i++)
        Console.Write(sum - arr[i] + " ");
}
  
// Driver Code
public static void Main()
{
    int []arr = { 5, 1, 3, 2, 4 };
    int N = arr.Length;
    findEncryptedArray(arr, N);
}
}
  
// This code is contributed 
// by inder_verma.


PHP




<?php 
// PHP implementation to 
// find encrypted array
// from the original array
  
// Finds and prints the 
// elements of the encrypted
// array
function findEncryptedArray(&$arr, $n)
{
    // total sum of elements
    // of original array
    $sum = 0;
    for ($i = 0; $i < $n; $i++)
        $sum += $arr[$i];
  
    // calculating and displaying
    // elements of encrypted array
    for ($i = 0; $i < $n; $i++)
        echo ($sum - $arr[$i]) . " ";
}
  
// Driver Code
$arr = array(5, 1, 3, 2, 4 );
$N = sizeof($arr);
findEncryptedArray($arr, $N);
  
// This code is contributed
// by ChitraNayal
?>


Output:

10 14 12 13 11

Time complexity: O(n)

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up
Recommended Articles
Page :