zoukankan      html  css  js  c++  java
  • 数组问题之求最大子数组问题(一)

          结束了 四则运算的所有内容 这次老师布置了 数组问题 求最大子数组的问题 课堂上 老师就已经提供了数种方案 并提出了时间复杂度的要求 于是和我的搭档找到了认为最为简便的算法

           过程中和小于0,那么和最大的子数组不会包含前面子数组,之后将和归0,从下个元素重新开始计算

           于之前的实验 理清思路 代码实现不算太难

           代码如下

     1 #include<iostream>
     2 using namespace std;
     3 
     4 int main()
     5 {
     6     int i,num;
     7     cout << "请输入数组元素个数: " ;
     8     cin >> num;
     9     int *arr = new int[num];
    10     cout << "请依次输入数组元素" << endl;
    11     for (i = 0; i < num; i++)
    12     {
    13         cin >> arr[i];
    14     }
    15     int MaxSum = 0;
    16     int CurSum = 0;
    17     for (i = 0; i<num; i++)
    18     {
    19         CurSum += arr[i];
    20         if (CurSum > MaxSum)
    21         {
    22             MaxSum = CurSum;
    23         }
    24         if (CurSum < 0)
    25         {
    26             CurSum = 0;
    27         }
    28     }
    29     cout <<"该数组中最大子数组的和是: "<< CurSum<<endl;
    30     system("pause");
    31 
    32     return 0;
    33 }

    经验证结果正确!

  • 相关阅读:
    vim cheat
    latex base
    latex font
    lstings
    使用React 如何设计 模板自定义的框架
    react hooks 的更进一步适应性使用
    IDEA反编译jar包源码
    Redis Lua实战
    Spring AOP拦截并打印controller层请求日志
    漏桶算法和令牌桶算法的区别
  • 原文地址:https://www.cnblogs.com/lyhao/p/5323653.html
Copyright © 2011-2022 走看看