• 整数数组中最大子数组求和02


    设计思路:

    在“整数数组中最大子数组求和01”的基础上完成本次实验。

    本次实验的关键在于如何判断结束。

    经设计,程序结束条件有两种:1.截取部分有重复;2.循环完整两次。

    满足其中任一条件则循环结束。

    代码:

    //20160327
    #include<iostream>
    #include<algorithm>
    using namespace std;
    
    int main()
    {
        int arr[100];
        int NUM = 0;
        int MAXSUM = 0;
        int MINNUMend = 0;
        int MINSUM = 0;
        int SUM = 0;
        int jump = 0;
        int start = -1;
        for (; NUM < 100; NUM++)
        {
            cin >> arr[NUM];
            if (getchar() == '
    ')
            {
                break;
            }
        }
        if (NUM == 100)
        {
            NUM = 99;
        }
        for (int i = 0;; i < NUM ? i++ : i = 0)
        {
            if (i == 0)
            {
                jump += 1;
                if (jump == 3)
                {
                    break;
                }
            }
            if (start == i)
            {
                break;
            }
            SUM = min(SUM + arr[i], arr[i]);
            if (MINSUM > SUM)
            {
                MINNUMend = i;
            }
            MINSUM = min(SUM, MINSUM);
            if (start == -1)
            {
                start = 0;
            }
            if (SUM >= 0)
            {
                start = i;
            }
        }
        SUM = 0;
        jump = 0;
        start = -1;
        for (int i = MINNUMend;; i < NUM ? i++ : i = 0)
        {
            if (i == MINNUMend)
            {
                jump += 1;
                if (jump == 3)
                {
                    break;
                }
            }
            if (start == i)
            {
                break;
            }
            SUM = max(SUM + arr[i], arr[i]);
            MAXSUM = max(SUM, MAXSUM);
            if (start == -1)
            {
                start = MINNUMend;
            }
            if (SUM <= 0)
            {
                start = i;
            }
        }
        cout << "最大和:" << MAXSUM << endl;
        return 0;
    }

    测试截图:

     

    此次结对编程队友杨安琪http://www.cnblogs.com/ning-JML/p/5326332.html

  • 相关阅读:
    linux学习之uniq
    hive学习05 参数设置
    【python】调用sm.ms图床api接口,实现上传图片并返回url
    【python】列表与数组之间的相互转换
    更新yum源
    要把RAID5创建卷组
    named-checkconf -z /etc/named.conf
    function_exists
    trigger_error
    命名空间
  • 原文地址:https://www.cnblogs.com/linanil/p/5323599.html
Copyright © 2020-2023  润新知