一直對遞歸寫法不是很熟悉,特寫一個增進理解
/** * Created by Administrator on 2017-11-01. */ public class recursion { private static int max(int a,int b){ //定義一個比較兩個數值大小的函數 return a>b?a:b; } public static int maxNum(int[] arr,int endindex){ //采用的遞歸思路是:若求長度為L的數組最大值,即是求 數組前L-1個長度的最大值 和最后一個數組元素的相對較大值 if(endindex==0){ return arr[0]; } return max(arr[endindex],maxNum(arr,endindex-1)); } public static void main(String[] args){ int array[]= {6,1,5,4,8,3,9,12,51,11,15,14,13,25,69,47,56,74,26,78}; System.out.print(maxNum(array,array.length-1)); } }
