PHP Program for Maximum Equilibrium Sum in an Array Last Updated : 22 Jul, 2024 Comments Improve Suggest changes Like Article Like Report Given an array arr[]. Find the maximum value of prefix sum which is also suffix sum for index i in arr[].Examples: Input : arr[] = {-1, 2, 3, 0, 3, 2, -1}Output : 4Prefix sum of arr[0..3] = Suffix sum of arr[3..6]Input : arr[] = {-2, 5, 3, 1, 2, 6, -4, 2}Output : 7Prefix sum of arr[0..3] = Suffix sum of arr[3..7]A Simple Solution is to check one by one of the given condition (prefix sum equal to suffix sum) for every element and returns the element that satisfies the given condition with maximum value. PHP <?php // PHP program to find // maximum equilibrium sum. // Function to find // maximum equilibrium sum. function findMaxSum($arr, $n) { $res = PHP_INT_MIN; for ($i = 0; $i < $n; $i++) { $prefix_sum = $arr[$i]; for ($j = 0; $j < $i; $j++) { $prefix_sum += $arr[$j]; } $suffix_sum = $arr[$i]; for ($j = $n - 1; $j > $i; $j--) { $suffix_sum += $arr[$j]; } if ($prefix_sum == $suffix_sum) { $res = max($res, $prefix_sum); } } return $res; } // Driver Code $arr = [-2, 5, 3, 1, 2, 6, -4, 2]; $n = count($arr); echo findMaxSum($arr, $n); ?> Output7Time Complexity: O(n2)Auxiliary Space: O(n)A Better Approach is to traverse the array and store prefix sum for each index in array presum[], in which presum[i] stores sum of subarray arr[0..i]. Do another traversal of the array and store suffix sum in another array suffsum[], in which suffsum[i] stores sum of subarray arr[i..n-1]. After this for each index check if presum[i] is equal to suffsum[i] and if they are equal then compare their value with the overall maximum so far. PHP <?php // PHP program to find maximum equilibrium sum // Function to find maximum equilibrium sum. function findMaxSum($arr, $n) { // Array to store prefix sum. $preSum[$n] = []; // Array to store suffix sum. $suffSum[$n] = []; // Variable to store maximum sum. $ans = PHP_INT_MIN; // Calculate prefix sum. $preSum[0] = $arr[0]; for ($i = 1; $i < $n; $i++) { $preSum[$i] = $preSum[$i - 1] + $arr[$i]; } // Calculate suffix sum and compare // it with prefix sum. Update ans // accordingly. $suffSum[$n - 1] = $arr[$n - 1]; if ($preSum[$n - 1] == $suffSum[$n - 1]) { $ans = max($ans, $preSum[$n - 1]); } for ($i = $n - 2; $i >= 0; $i--) { $suffSum[$i] = $suffSum[$i + 1] + $arr[$i]; if ($suffSum[$i] == $preSum[$i]) { $ans = max($ans, $preSum[$i]); } } return $ans; } // Driver Code $arr = [-2, 5, 3, 1, 2, 6, -4, 2]; $n = sizeof($arr); echo findMaxSum($arr, $n); ?> Output7Time Complexity: O(n) Auxiliary Space: O(n)Please refer complete article on Maximum equilibrium sum in an array for more details! Comment More infoAdvertise with us Next Article PHP Program for Maximum Equilibrium Sum in an Array kartik Follow Improve Article Tags : Searching Web Technologies PHP PHP Programs DSA Arrays prefix-sum +3 More Practice Tags : Arraysprefix-sumSearching Similar Reads PHP Program for Number of local extrema in an array You are given an array on n-elements. An extrema is an element that is either greater than its both of neighbors or less than its both neighbors. You have to calculate the number of local extrema in given array. Note: 1st and last elements are not extrema.Examples : Input : a[] = {1, 5, 2, 5}Output 2 min read PHP Program for Maximum Circular Subarray Sum Given n numbers (both +ve and -ve), arranged in a circle, find the maximum sum of consecutive numbers. Examples: Input: Arr = [ 8, -8, 9, -9, 10, -11, 12 ] Output: 22 (12 + 8 - 8 + 9 - 9 + 10) Input: Arr = [ 10, -3, -4, 7, 6, 5, -4, -1 ] Output: 23 (7 + 6 + 5 - 4 -1 + 10) Input: Arr = [ -1, 40, -14, 3 min read PHP Program for Minimum Product Subset of an Array Given an array Arr, we have to find the minimum product possible with the subset of elements present in the array. The minimum product can be a single element also.Examples: Input : Arr = [ -1, -1, -2, 4, 3 ] Output : -24 Explanation : Minimum product will be ( -2 * -1 * -1 * 4 * 3 ) = -24 Input : A 3 min read PHP Program for Maximum and Minimum in a Square Matrix Given a square matrix of order n*n, find the maximum and minimum from the matrix given. Examples: Input : Arr = [ [ 5, 4, 9 ], [ 2, 0, 6 ], [ 3, 1, 8 ] ]; Output : Maximum = 9, Minimum = 0 Input : Arr = [[ -5, 3 ], [ 2, 4 ]]; Output : Maximum = 4, Minimum = -5Naive MethodWe find the maximum and mini 2 min read PHP Program for Maximum sum of i*arr[i] among all rotations of a given array Given an array arr[] of n integers, find the maximum that maximizes the sum of the value of i*arr[i] where i varies from 0 to n-1.Examples: Input: arr[] = {8, 3, 1, 2} Output: 29 Explanation: Lets look at all the rotations, {8, 3, 1, 2} = 8*0 + 3*1 + 1*2 + 2*3 = 11 {3, 1, 2, 8} = 3*0 + 1*1 + 2*2 + 8 7 min read PHP Program to Find maximum element of each row in a matrix Given a matrix, the task is to find the maximum element of each row.Examples: Input : [1, 2, 3] [1, 4, 9] [76, 34, 21]Output :3976Input : [1, 2, 3, 21] [12, 1, 65, 9] [1, 56, 34, 2]Output :216556Approach : The approach is very simple. The idea is to run the loop for no_of_rows. Check each element in 2 min read How to Find Matching Pair from an Array in PHP ? Given an Array, the task is to find the matching pair from a given array in PHP. Matching a pair from an array involves searching for two elements that satisfy a certain condition, such as having the same value, summing up to a specific target, or meeting some other criteria. Here, we will cover thr 5 min read PHP Program for Third largest element in an array of distinct elements Given an array of n integers, find the third largest element. All the elements in the array are distinct integers. Example : Input: arr[] = {1, 14, 2, 16, 10, 20}Output: The third Largest element is 14Explanation: Largest element is 20, second largest element is 16 and third largest element is 14Inp 5 min read PHP Program for Number of pairs with maximum sum Write a PHP program for a given array arr[], count the number of pairs arr[i], arr[j] such that arr[i] + arr[j] is maximum and i < j.Example:Input : arr[] = {1, 1, 1, 2, 2, 2} Output: 3 Explanation: The maximum possible pair sum where i<j is 4, which is given by 3 pairs, so the answer is 3 the 3 min read PHP Program for Maximum Difference Between Groups of Size Two Given an array of even number of elements, form groups of 2 using these array elements such that the difference between the group with highest sum and the one with lowest sum is maximum.Note: An element can be a part of one group only and it has to be a part of at least 1 group. Examples: Input : Ar 3 min read Like