zoukankan      html  css  js  c++  java
  • 求一个序列的最大子序列和

    //求一个数列的最大子序列和
    #include <iostream>
    #include <vector>
    
    int MaxSubsequenceSum(const std::vector<int>& ivec)
    {
         int ThisSum = 0, MaxSum = 0;
         for(std::vector<int>::const_iterator it = ivec.begin();
              it != ivec.end(); ++it)
         {
              ThisSum += *it;
              if(ThisSum < 0)    
                   ThisSum = 0;
              else if(ThisSum > MaxSum)
                   MaxSum = ThisSum;
         }
         return MaxSum;
    }
    int main(int argc, char const *argv[])
    {
         std::cout<<"Please input some number:"<<std::endl;
         int num;    
         std::vector<int> ivec;
         while(std::cin>>num)
              ivec.push_back(num);
         for(std::vector<int>::const_iterator it = ivec.begin();
              it != ivec.end(); ++it)
              std::cout<<*it<<" ";
         std::cout<<std::endl;
         std::cout<<"The MaxSubsequenceSum is:"<<MaxSubsequenceSum(ivec)<<std::endl;
         return 0;
    }
    

      

  • 相关阅读:
    六.Linux其他命令
    五.Linux压缩文件的操作命令(压缩解压)
    sigaction
    log_note log_error log_warning
    SIGHUP
    pthread_create
    semaphore
    getpwuid
    close port
    pthread
  • 原文地址:https://www.cnblogs.com/zxh1210603696/p/3204700.html
Copyright © 2011-2022 走看看