设为首页 加入收藏

TOP

算法学习之最大子序列问题(一)
2013-02-08 14:29:38 】 浏览:802
Tags:法学 习之 最大 序列 问题

  最大子序列问题:

  即在给定序列中寻找一子序列使其和在所有子序列中最大。

  代码实现如下:

  [cpp]

  #include <iostream>

  #include <vector>

  using namespace std;

  const unsigned int N = 5;

  int maxSubSum1(const vector<int> & a)

  {

  int max_sum = 0;

  int begin = 0;

  int interval = 0;

  for(unsigned int i = 0; i < a.size(); i++)

  {

  for(unsigned int j = i; j < a.size(); j++)

  {

  int this_sum = 0;

  for(unsigned int k = i; k <= j; k++)

  {

  this_sum += a[k];

  }

  if(this_sum > max_sum)

  {

  max_sum = this_sum;

  begin = i;

  interval = j;

  }

  }

  }

  cout 《 "The biggest subarray is:" 《 endl;

  for( ; begin <= interval; begin++)

  {

  cout 《 a[begin] 《 "\t";

  }

  return max_sum;

  }

  //

  int maxSubSum2(const vector<int> & a)

  {

  int max_sum = 0;

  int begin = 0;

  int interval = 0;

  for(unsigned int i = 0; i < a.size(); i++)

  {

  int this_sum = 0;

  for(unsigned int j = i; j < a.size(); j++)

  {

  this_sum += a[j];

  if(this_sum > max_sum)

  {

  max_sum = this_sum;

  begin = i;

  interval = j;

  }

  }

  }

   

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇TYVJ P2067(质因数分解) 下一篇VC++2012图形化皇后问题

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目