• 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;
    * }
    * }
    */
  • 相关阅读:
    websocket协议
    vue组件之间的传值
    vue中非父子组件的传值bus的使用
    $.proxy的使用
    弹性盒模型display:flex
    箭头函数与普通函数的区别
    粘贴到Excel的图片总是有些轻微变形
    centos rhel 中文输入法的安装
    vi ,默认为 .asm .inc 采用nasm的语法高亮
    how-to-convert-ppk-key-to-openssh-key-under-linux
  • 原文地址:https://www.cnblogs.com/shudaixiongbokeyuan/p/13592396.html
Copyright © 2020-2023  润新知