java 练习递归..计算目标

Posted

tags:

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

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



class Solution {
  public static void main(String[] args) {
   Solution solution = new Solution();
    int[][] input = {
      {1,1,1,1},
      {0,0,0,1},
      {0,0,0}
    };
    
    int[] target = {1,0,9};
    
    for(int i=0; i< input.length; i++){
       System.out.println("Input :" + Arrays.toString(input[i]) + ", Result:" + solution.targetCount(input[i], target[i], input[i].length));
      System.out.println("Input :" + Arrays.toString(input[i]) + ", Result:" + solution.targetCountR(input[i], target[i], input[i].length));
      System.out.println("Input :" + Arrays.toString(input[i]) + ", Result:" + solution.targetCountRT(input[i], target[i], input[i].length));
    }
  }
  
  public int targetCountR(int[] input, int target, int size){
    if(size == 0){
     return  0; 
    }
    int count = targetCount(input, target, size-1);
    if(input[size-1] == target){
     count++; 
    }
    return count;
  }
  
  public int targetCountRT(int[] input, int target, int size){
    if(size==0){
      return 0;
    }
    if(input[size-1] == target){
      return 1 + targetCountRT(input, target, size-1);
    }
    return targetCountRT(input, target, size-1);
  }
  
  public int targetCount(int[] input, int target, int size){
    int count = 0;
    for(int i=0;i<size;i++){
      if(input[i] == target) {
        count++;
      }
    }
    return count;
  }
}

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

leetcode递归练习总结

[PTA]练习10-1 使用递归函数计算1到n之和

02方法-作业01-递归练习

练习10-1 使用递归函数计算1到n之和(10 分

OI入门

JAVA基础24 递归练习