zoukankan      html  css  js  c++  java
  • 求整数组里最大子数组的和

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

    思路:先根据用户输入的随机数来判断输入数的个数,形成一个数组,再利用动态数组,求最大子数组之和,对每个数有两种情况,这个数前边的子数组和为负数,或者为正数,然后,如果是正数,判断加上自身是否更大,最后进行递归运算。

    代码:

    #include<iostream>
    #define N 1000
    using namespace std;
    int max(int a, int b)
    {
        if (a > b)
        {
            return a;
        }
        else
        {
            return b;
        }
    }
    
    int main()
    {
        int Array[N];
        int i, length = 0,t=0;
        int sumOfArray;
        int sum = 0;
        cout << "请输入任意整数" << endl;
        if (getchar() == '
    ')
        {
            cout << "输入的数组为空" << endl;
            t = 1;
            cout << "请输入非空数组" << endl;
        }
        for (length = 0;;)
        {
            cin >> Array[length];
            length++;
            if (getchar() == '
    ')
            {
                break;
            }
        }
        cout << "这个数组的长度为:" << length << endl;
        sumOfArray = Array[0];
        for (i = 1; i<length; i++)
        {
            sum = max(sum, sumOfArray);
            sumOfArray = max(sumOfArray + Array[i], Array[i]);
        }
        sumOfArray = max(sum, sumOfArray);
        cout << "这个整数组的子数组之和的最大值为:" << sumOfArray << endl;
        return 0;
    }

    测试结果:

    开发流程:
    日期和任务
    听课 看书 网上查资料 编程 日总计
    周一 2     1 3
    周二         0
    周三   2     2
    周四 2   1 2 5
    周五     1 3 4
    周六   1 2 1 5
    周日         0
    总计 4 3 4 7 18
    日期
    开始时间 结束时间 中断时间 净时间 活动 备注
    3/21 14:00 15:00 10 110 听课 软件工程课
      16:30 17:30 0 60 编程 想思路
    3/23 15:00 17:00 20 100 看书 读《构建之法》
    3/24 14:00 15:50 10 100 听课 软件工程课
      19:00 21:00 20 100 结对编程 交流思想
    3/25 8:30 9:30 0 60 上网查资料 整理思路
      16:30 17:30 0 60 编程 编写代码
      19:30 21:30 20 100 结对开发 领航,查错
    3/26 10:00 11:00 0 60 调试代码 检查问题
      14:00 16:00 20 100 写博客 总结
      19:30 20:30 0 60 看书 预习

    缺陷记录日志:

    一开始对动态数组不是很了解,不知道如何运用,后来在老师和同学的帮助下,明白并掌握了,觉得动态数组这种思想很重要。

    程序的不足:

    对一些特别大的数进行测试时可能会报错。

    队友博客:http://home.cnblogs.com/u/apan008/

  • 相关阅读:
    如何解决IIS配置HTTPS证书后刷新消失问题
    Nginx https服务器证书安装步骤
    Websocket如何建立连接
    Websocket原理
    浅谈Vue中的$set的使用
    vue-router路由如何实现传参
    vue-router路由详细
    vue 中注册全局组件
    java基础
    练习例题(进度条效果和选项卡效果)
  • 原文地址:https://www.cnblogs.com/lvstudy/p/5320615.html
Copyright © 2011-2022 走看看