zoukankan      html  css  js  c++  java
  • 数组结对开发

    题目:返回一个整数数组中最大子数组

    要求:输入一个整形数组,数组里有整数也有负数;

    数组中连续的一个或多个整数组成一个整数组每个子数组都有一个和;

    求所有子数组的和的最大值,要求时间复杂度为O(n)。

    思路:设数组为a[10],从第一个数啊a[1]开始,设置两个变量,一个记录和,一个记录最大值,如果和大于最大值,则替换,如果和为负数,则舍弃,从下一个数字起重新计算和

           ……….以此类推,最后结束的最大值即为所求

    具体实现代码:

     1 #include<iostream>
     2 using namespace std;
     3 int main()
     4 {
     5     int arr[10],result,sum=0,k=0;
     6     cout<<"请输入10个数值:"<<endl;
     7     for(int i=0;i<10;i++)
     8     {
     9         cin>>arr[i];
    10     }
    11     result=arr[0];
    12     for(int j=0;j<10;j++)
    13     {
    14         if(sum>=0){
    15             sum+=arr[j];
    16         }
    17         else{
    18             sum=arr[j];
    19         }
    20         if(result<sum)
    21             result=sum;
    22     }
    23     cout<<"最大数组之和:"<<result<<endl;
    24     return 0;
    25 }

    运行截图:

    结对体会:

         这次和我结对的是信1201-2班的曹坤,程序思路是共同探讨的结果,他写程序,我进行测试,通过这次的结对活动,体会到了团队合作的重要。两人合作,效率更高,还能避免的错误

    合影:

  • 相关阅读:
    MATLAB GUI制作快速入门
    JavaFX Chart设置数值显示
    Unity查找物体的四大主流方法及区别
    Matlab 图像转极坐标系
    使用python获得N个区分度较高的RGB颜色值
    Arduino学习笔记30
    Arduino学习笔记27
    Arduino学习笔记26
    Arduino学习笔记25
    Arduino学习笔记24
  • 原文地址:https://www.cnblogs.com/huazongzong/p/4346581.html
Copyright © 2011-2022 走看看