主要是訓練對遞迴的感覺
把思想由遍歷轉換到遞迴上
其他文章和題目
遞迴與動態規劃
奇怪的比賽
李白打酒
public
class 陣列最小值 ;
system.out.println(process(arr, 0, arr.length-1));
}public static int process(int arr,int
left,int
right)
intmid=left+(right-left)/2;
int leftmin=process(arr, left, mid);
int rightmin=process(arr, mid+1, right);
return math.min(leftmin, rightmin);
}}
遞迴求陣列最大最小值(分治思想)
求陣列最大最小值我們可以用遍歷或者最簡單的排序方法來實現,但是那樣子的時間複雜度將會大很多,因此我們可以採用分治思想來求最大最小值,即先求左右兩部分,即先求出左半部分的最大最小值,再求出右半部分的最大最小值,然後再把左右兩部分的最大最小值合起來求總的最大最小值。如下 includeusing nam...
求陣列中的最小值
群裡同學出的題目 假設一陣列 null,2,5,null,10,3 求最小值 想到三種方法 1 for 迴圈 2 sort排序 3 把null乾掉 測試了下三個的效率 如下 先造個大陣列 var a b null,2,5,null,10,3 var i 1000 while i 1 for迴圈 co...
求陣列的最大值最小值
演算法陣列中的最大值和最小值 方法1 遍歷兩次求出最大值最小值 時間複雜度n 2 方法2 相鄰兩個數分為一組比較,大的放在偶數字,小的放到奇數字,然後在偶數字上找到最大值,在奇數字上找到最小值n 1.5 方法3 定義兩個變數max,min值,相鄰兩個數分為一組,比較出最大值和最小值,最大值和max比...