Open In App

How to attempt Function Coding Questions?

Improve
Improve
Like Article
Like
Save
Share
Report

Function Coding Questions are similar to normal coding questions apart from the fact that one does not need to read input and print output from standard I/O while writing solutions. In function coding question, one just needs to complete a function already written in the code editor. You need to work on inputs provided as a parameter to this function and instead of printing the result you will have to return it from the function. Let’s take the example of a sample function problem: Equilibrium Index of an Array. The pattern of question is almost the same as that of normal programming questions. In function problems, you can notice an additional information provided as “Task” after the output format which clearly explains that the user only needs to complete a function and return the result from it. You can also see that in the code editor for this question there is already a function written with name findEquilibrium(). This function accepts an array A[] and an integer n which denotes the size of the array A[]. You can see in the above image that the body of this function is empty. You need to write your complete code inside the body of this function and return the result from it without writing a separate main() function. You must assume that there is already a main() function written which is invoking this function and write your program accordingly. Below is the complete working solution for the above question: 

CPP




/*Please note that it's Function problem i.e.
you need to write your solution in the form of Function(s) only.
Driver Code to call/invoke your function is mentioned above.*/
 
/* You are required to complete this method*/
int findEquilibrium(int A[], int n)
{
    // Your code here
    int i, y, f, j, x;
    for (i = 1; i < n; i++) {
        y = 0;
        x = 0;
        for (j = 0; j < i; j++) {
            y = y + A[j];
        }
        for (j = i + 1; j < n; j++) {
            x = x + A[j];
        }
        if (x == y) {
            f = 1;
 
            // returning answer
            return (i);
            break;
        }
        else {
            f = 0;
        }
    }
    if (f == 0) {
        // returning answer
        return (-1);
    }
}


Python3




def findEquilibrium(A, n):
    # Loop through each element in the array except the first one
    for i in range(1, n):
        y = 0  # sum of elements before the pivot
        x = 0  # sum of elements after the pivot
        # Calculate sum of elements before the pivot
        for j in range(i):
            y += A[j]
        # Calculate sum of elements after the pivot
        for j in range(i + 1, n):
            x += A[j]
        # Check if sums are equal on both sides of the pivot
        if x == y:
            # If equal, return the pivot index
            return i
    # If no equilibrium index is found, return -1
    return -1


Important things to remember

  • One should assume that a main() function is already present which is invoking the current function and should not write a separate main() function.
  • Use inputs as provided in the function parameters.
  • Return result from the function instead of printing it.


Last Updated : 15 Apr, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads