zoukankan      html  css  js  c++  java
  • 最大连续子数组

    bool largestSumSubarray(int L, int length){
        if(L == NULL || length == 0) return false;
        int sum=cur_sum=0;
        for(int i=0 ; i<length ; ++i){
            cur_sum += L[i];
            if(cur_sum <= 0)    //如果某个加和都小于0,那么直接从后面重新开始肯定比保存这里更大
                cur_sum = 0;
            sum = max(cur_sum , sum);
        }
        if(sum = 0){
            sum=L[0];
            for(int i = 1;i < L.lenght; ++i)
            sum=max(sum,L[i]);
        }
        printf("%d",sum);
        return true;
    }
    
    • 为什么返回的是布尔变量?

      当我们输入一个空指针应该返回什么?0?无法区别无效数组和最大数组为0的情况

    • 考虑所有都是负值的边界情况,因为初始值为0

  • 相关阅读:
    springcloud有哪些特征
    可变参数
    递归
    增强的for循环
    Scanner对象
    注释
    Markdown常见的样式语法
    副本机制
    消费者分区分配策略
    SpringMVC 登陆判断
  • 原文地址:https://www.cnblogs.com/louieowrth/p/12680962.html
Copyright © 2011-2022 走看看