public static void Main()
Console.WriteLine("Max average of sub array");
int[] nums = new int[] {1,12,-5,-6,50,3};
Console.WriteLine(FindMaxAverage(nums, 4));
public static double FindMaxAverage(int[] nums, int k)
for (int i = 0; i < k; i++)
for (int i = k; i < nums.Length; i++)
currentSum += nums[i] - nums[i - k];
public static double FindMaxAverage11(int[] nums, int k)
for (int i = 0; i < nums.Length; i++)
int pointerSum = nums[p1] + nums[p2];
pointerSum = pointerSum < 0 ? pointerSum * -1 : pointerSum;
tmpMaxAvg = (double)(sumOfArray - pointerSum) / (double)k;
maxAvg = maxAvg > tmpMaxAvg ? maxAvg : tmpMaxAvg;