Задача: Найти максимальную сумму в последовательности
Исходник: Квадратичный алгоритм №1, язык: C# [code #78, hits: 7194]
автор: this [добавлен: 28.02.2006]
  1. public static int MaxSoFar_Quadro1(int[] arr)
  2. {
  3. int maxsofar = 0;
  4.  
  5. for (int i = 0; i < arr.Length; i++)
  6. {
  7. int sum = 0;
  8. for (int j = i; j < arr.Length; j++)
  9. {
  10. sum += arr[j];
  11. /* sum - сумма всех элементов arr[i..j] */
  12. maxsofar = Math.Max(maxsofar, sum);
  13. }
  14. }
  15.  
  16. return maxsofar;
  17. }
Производительньсть ~ O(n2)
Тестировалось на: MS Visual Studio 2005, .NET Framework 2.0

+добавить реализацию