Chinaunix首页 | 论坛 | 博客
  • 博客访问: 328526
  • 博文数量: 49
  • 博客积分: 653
  • 博客等级: 上士
  • 技术积分: 646
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-01 22:43
文章分类

全部博文(49)

文章存档

2018年(1)

2017年(4)

2015年(1)

2014年(6)

2013年(8)

2012年(24)

2011年(5)

分类: LINUX

2018-11-06 20:11:28


点击(此处)折叠或打开

  1. #include<iostream>
  2. #include "utils_common.h"

  3. #define ARR_SIZE(a) ((sizeof(a))/sizeof((a[0])))

  4. int cal_sum(const int arr[], int len)
  5. {
  6.     int sum, this_sum, i,j,k;
  7.     sum = 0;
  8.     for(i = 0; i < len; i++) {
  9.         for(j = i; j < len; j++) {
  10.             this_sum = 0;
  11.             for(k = i; k <=j; k++) {
  12.                 this_sum += arr[k];
  13.                 if(this_sum > sum) {
  14.                     sum = this_sum;
  15.                 }
  16.             }
  17.         }
  18.     }

  19.     return sum;
  20. }

  21. int cal_sum2(const int arr[], int len)
  22. {
  23.     int sum, this_sum, i,j;
  24.     sum = 0;
  25.     for(i = 0; i < len; i++) {
  26.         this_sum = 0;
  27.         for(j = i; j < len; j++) {
  28.             this_sum += arr[j];
  29.             if(this_sum > sum) {
  30.                 sum = this_sum;
  31.             }
  32.         }
  33.     }

  34.     return sum;
  35. }

  36. int main()
  37. {
  38. // int arr[] = { -10, -2, 3, -1, 6};
  39.     int arr[] = { -10, -3, 5, -2, -1, 2, 6, -2 };
  40.     int len = ARR_SIZE(arr);
  41.     cout << len << endl;

  42.     int sum;
  43.     sum = cal_sum(arr, len);

  44.     cout << "sum=" << sum << "\tlen=" << len << endl;
  45.     sum = cal_sum2(arr, len);
  46.     cout << "sum=" << sum << endl;

  47.     sum = cal_sum3(arr, len);
  48.     cout << "sum=" << sum << endl;
  49.     return 0;
  50. }

阅读(2193) | 评论(0) | 转发(0) |
0

上一篇:设计模式之-ADAPTER模式(适配器模式)

下一篇:没有了

给主人留下些什么吧!~~