public static int FindEquilibrumPoint(int[] arr)
{
int size = arr.Length;
var prefixSum = new int[arr.Length];
var suffixSum = new int[arr.Length];
prefixSum[0] = arr[0];
suffixSum[size - 1] = arr[size - 1];
// Prefix Sum
for (int i = 1; i < size; i++)
{
prefixSum[i] = prefixSum[i - 1] + arr[i];
}
// Suffix Sum
for (int j = size-2; j > 0; j--)
{
suffixSum[j] = suffixSum[j + 1] + arr[j];
}
for (int i = 0; i < size; i++)
{
if (prefixSum[i] == suffixSum[i])
return arr[i];
}
return -1;
}
I guess the Time Complexity is O(n) But I am confused about how the space complexity is calculated. What is this funcitons Space Complexity?