zoukankan      html  css  js  c++  java
  • 返回一个二维整数数组中最大子数组的和1

    一.题目:返回一个整数数组中最大子数组的和。

    二.要求: 输入一个整形数组,数组里有正数也有负数。

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

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

    三.结对编程要求: 两人结对完成编程任务。

                         一人主要负责程序分析,代码编程。 一人负责代码复审和代码测试计划。

                         发表一篇博客文章讲述两人合作中的过程、体会以及如何解决冲突(附结对开发的工作照)。

    四.队员:孔维春,崔鹏勃

    五.合作过程及体会:

    我和崔鹏勃两人轮流负责程序,分析代码编程和代码复审,代码测试,加强了合作编程能力,对自己有很大提升,发生冲突时,先通过互相交流意见求同存异,再从网上查阅资料或者实际编程,选择最合适的方法,思路.

    六.源程序代码

    // ConsoleApplication3.cpp : 定义控制台应用程序的入口点。
    #include "stdafx.h"
    int _tmain(int argc, _TCHAR* argv[])
    {
    	return 0;
    }
    
    #include <iostream>
    using namespace std;
    #include<stdlib.h>
    #include<time.h>
    
    int main()
    {
    	int i;
    	int a[10];
    	int max = 0;
    	int b = 0;
    
    	srand(time(NULL));
    	cout << "数组为:";
    	for (i = 0; i<10; i++)
    	{
    		a[i] = rand() % 201 - 100; //随机生成-10 到 10的整数
    	}
    	for (i = 0; i<10; i++)
    	{
    		cout << a[i] << " ";
    	}
    	cout << endl;
    
    	for (i = 0; i < 10; i++)
    	{
    		b += a[i];
    		if (b < 0)
    		b = 0;
    		if (b > max)
    		max = b;
    	}
    	if (max == 0)
    	{
    		max = a[0];
    		for (i = 0; i < 10; i++)
    		{
    			if (max < a[i])
    			{
    				max = a[i];
    			}
    		}
    	}
    	cout << "最大子数组为:" << max << endl;
    	system("pause");
    	return 0;
    }
    

    七.结果截图

  • 相关阅读:
    【年度回顾】2020,云开发的20个重大更新
    SQL 排序检索数据
    【JVM进阶之路】三:探究虚拟机对象
    【JVM进阶之路】二:Java内存区域
    【JVM进阶之路】一:Java虚拟机概览
    这些不可不知的JVM知识,我都用思维导图整理好了
    计算机网络的七层结构、五层结构和四层结构
    synchronized详解
    Linux内核中I2C总线及设备长啥样?
    C语言中这些预定义宏的不可不会
  • 原文地址:https://www.cnblogs.com/littilsaber/p/4348686.html
Copyright © 2011-2022 走看看