码迷,mamicode.com
首页 > 其他好文 > 详细

程序的演绎法

时间:2019-11-03 18:04:19      阅读:102      评论:0      收藏:0      [点我收藏+]

标签:声明   遍历   获取   span   bsp   组成   nbsp   inf   计算   

https://www.codewars.com/kata/54521e9ec8e60bc4de000d6c

技术图片

 

 

题意指:找到提供给你的数组中的能获得最大递增值的子序列

如题目中的数组,最大的序列为子序列{4,-1,2,1} 返回6

 

public class Max {
  //寻找数组中能组成最大和的子序列 (相邻)
  public static int sequence(int[] arr) {
    //如果数组大小为0 返回0
    if(arr.length == 0){
      return 0;
    }
    //声明临时最大值 与 最大返回值
    int maxTemp = 0;
    int maxRes = 0;
    //遍历数组 获取递加之和
    for(int i=0;i<arr.length;i++){
      //获取递加之和
      maxTemp += arr[i];
      //按照条件 递加之和小于0 则返回0
      if(maxTemp <0){
        maxTemp = 0;
      }
        //最大返回值等于 最大返回值现在是否大于或者等于临时最大递增之和呢?
        //如果判定true 则 返回maxRes最大返回值 , 否则返回临时最大递增值给maRes(用于return)
        maxRes = maxRes >= maxTemp? maxRes : maxTemp;
    }
    //返回结果
    return maxRes;
  }
}

 

最主要的判定在for循环中

根据数组演绎,每个数组中的值递加,如果小于0(为负数)则设定为0 在于最大返回值结果变量比较 小于它 则不计入

当计算结果中获取到的递加之和愈大 则maxRes 的变量值越大 再递加数组中后续的数值后,如果有较大结果可能则进行maxRes的改变 否则将不会变动

 

程序的演绎法

标签:声明   遍历   获取   span   bsp   组成   nbsp   inf   计算   

原文地址:https://www.cnblogs.com/ukzq/p/11788048.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!