• leetcode53.最大子序和(遍历标记)


    package newleedcode;

    /**
    * 最大子序和
    * 判断一段连续数组里之和的最大值
    */
    public class LeedCode53 {
    public int maxSum(int[] num){
    //给最大值赋初始值
    int ans=num[0];
    //动态数
    int sum=0;
    //自动遍历,当动态数组小于0时即重置下标,更新新的连续数组,并将每一次结果进行比较,每次比较都将最大值存于ans
    for(int nums:num){
    //数值大于零时可加
    if(sum>0){
    sum+=nums;
    //数值小于零时重置连续数组位置
    }else {
    sum=nums;
    }
    //判断当前动态数组是否比最大值大,大即更新,不大即维持原连续数组【每次都录入当前连续数组最大值】
    ans=Math.max(ans,sum);
    }
    return ans;
    }

    public static void main(String args[]){
    int[] num={1,5,-3,6,8,-9};
    LeedCode53 leetCode53=new LeedCode53();
    System.out.println(leetCode53.maxSum(num));
    }
    }

    /**
    * leetcode提交代码
    * class Solution {
    * public int maxSubArray(int[] nums) {
    * //给最大值赋初始值
    * int ans=nums[0];
    * //动态数
    * int sum=0;
    * //自动遍历,当动态数组小于0时即重置下标,更新新的连续数组,并将每一次结果进行比较,每次比较都将最大值存于ans
    * for(int num:nums){
    * //数值大于零时可加
    * if(sum>0){
    * sum+=num;
    * //数值小于零时重置连续数组位置
    * }else {
    * sum=num;
    * }
    * //判断当前动态数组是否比最大值大,大即更新,不大即维持原连续数组【每次都录入当前连续数组最大值】
    * ans=Math.max(ans,sum);
    * }
    * return ans;
    * }
    * }
    */
  • 相关阅读:
    Chapter 1. 庞加莱群、单粒子态和时间空间反演
    QI Chapter 1
    Introduction to QFT
    在visual studio 2017中配置Qt
    BUAA软工第0次作业
    附加作业(个人)
    个人作业3——个人总结(Alpha阶段)
    单元测试
    英语学习app案例分析
    小学生四则运算改进版之
  • 原文地址:https://www.cnblogs.com/shudaixiongbokeyuan/p/13592396.html
Copyright © 2020-2023  润新知