java 练习递归..积极总和

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 练习递归..积极总和相关的知识,希望对你有一定的参考价值。

import java.io.*;
import java.util.*;


// Recursion practice
class Solution {
  public static void main(String[] args) {
    Solution solution = new Solution();
    int[][] input = {
      {-1,2,-41,4,-8},
      {1,3,-9,121,31},
      {1,1,1}
    };
    
    for(int i=0; i< input.length; i++){
       System.out.println("Input :" + Arrays.toString(input[i]) + ", Result:" + solution.positiveSumI(input[i], input[i].length));
      System.out.println("Input :" + Arrays.toString(input[i]) + ", Result:" + solution.positiveSumR(input[i], input[i].length));
      System.out.println("Input :" + Arrays.toString(input[i]) + ", Result:" + solution.positiveSumRT(input[i], input[i].length));
    }
  }
  
  public int positiveSumI(int[] input, int size){
     if(input == null || input.length < 1) {
      return 0;
     }
     int sum = 0;
     for(int i=0;i<size;i++){
       if(input[i] > 0 ) {
         sum += input[i];
       }
     }
     return sum;
  }
  
  public int positiveSumR(int[] input, int size){
     if(input == null || input.length < 1 || size == 0) {
      return 0;
     }
     int positiveSumSoFar = positiveSumR(input, size-1);
     if(input[size-1] > 0) {
       return positiveSumSoFar + input[size-1];
     }
     return positiveSumSoFar;
  }
  
  public int positiveSumRT(int[] input, int size){
    return positiveSumRT(input, size, 0);
  }
  
  public int positiveSumRT(int[] input, int size, int sum){
     if(input == null || input.length < 1 || size == 0) {
      return sum;
     }
     if(input[size-1] > 0) {
      sum += input[size-1];
     }
     sum = positiveSumRT(input, size-1, sum);
     return sum;
  }
  
  
  
}

以上是关于java 练习递归..积极总和的主要内容,如果未能解决你的问题,请参考以下文章

无法在递归java函数中计算总和

Java - 数字的递归总和及其工作原理

CodeQL练习1

JAVA基础24 递归练习

java 练习递归isHeap isComplete isBST

java 练习递归..正和链表