zoukankan      html  css  js  c++  java
  • 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;
    * }
    * }
    */
  • 相关阅读:
    TRansportation ANalysis and SIMulation System
    源数据的换行符
    小学生的加减乘除
    ORDER BY today_used ASC' % (MAX_USED_TIMES)
    线程污染 重复请求
    SQLite支持的并发访问数
    数组和链表的对比
    第一类 第二类 反向 螺旋 数学归纳法
    阶乘
    api 爬虫 避免相同 input 在信息未更新 情况下 重复请求重复
  • 原文地址:https://www.cnblogs.com/shudaixiongbokeyuan/p/13592396.html
Copyright © 2011-2022 走看看