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

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