zoukankan      html  css  js  c++  java
  • 个人作业-数组

    public class Sum {
        public static void main(String[] args) {
            // TODO 自动生成的方法存根
            findMaxSubArySum1();
        }
        public static void findMaxSubArySum1() {
            // sum为子数组的和
            int sum = 0;
            // max为子数组的最大和
            int max = 0;
            // 最大子数组的起始位置
            int startPos = 0;
            // 最大子数组的结束位置
            int endPos = 0;
            int[] array = { -9,-7,-4,12,-7,-8,41,6,5,-1,14,-11 };
            for (int i = 0; i < array.length; i++) {
                sum += array[i];// 求和
                if (sum < 0) {// 如果当前求得总和为负数的话,就将其清零,并且开始位置从下一个位置开始
                    sum = 0;
                    startPos = i + 1;
                }
                if (sum > max) {// 如果求得总和大于之前的最大值的话,就将sum赋值给max,同时记录最后的位置
                    max = sum;
                    endPos = i + 1;
                }
            }
            System.out.println("Max:" + max);
           
        }
    }

    结果截图:

  • 相关阅读:
    Xcode代码块快捷输入
    Git常用命令
    vim
    MACOX中apache配置
    IOS中实现动画的几种方式
    Swift与OC混合编译
    网络图像加载
    我对互联网的理解
    运行时
    自动布局使用
  • 原文地址:https://www.cnblogs.com/chenyuchun/p/10506480.html
Copyright © 2011-2022 走看看