@@ -0,0 +1,841 @@
+public class Solution %7B%0A    public int findMin(int%5B%5D num) %7B%0A        // binary search.%0A        // T(n) = T(n / 2) + O(1) ----%3E T(N) = O(logN)%0A        int len = num.length;%0A        if (len == 1) %7B%0A        %09return num%5B0%5D;%0A        %7D%0A%0A        return minHelper(num, 0, len - 1);%0A    %7D%0A%0A    public int minHelper(int%5B%5D num, int start, int end) %7B%0A    %09if (start + 1 == end) %7B%0A    %09%09return num%5Bstart%5D %3C num%5Bend%5D? num%5Bstart%5D : num%5Bend%5D;%0A    %09%7D%0A%0A    %09int mid = start + (end - start) / 2;%0A%0A    %09// at least one half is sorted.%0A    %09if (num%5Bstart%5D %3C= num%5Bmid%5D) %7B%0A    %09%09int leftMin = num%5Bstart%5D;%0A    %09%09int rightMin = minHelper(num, mid, end);%0A    %09%09return leftMin %3C rightMin? leftMin : rightMin;%0A    %09%7D else %7B%0A    %09%09int rightMin = num%5Bmid%5D;%0A    %09%09int leftMin = minHelper(num, start, mid);%0A    %09%09return leftMin %3C rightMin? leftMin : rightMin;%0A    %09%7D%0A    %7D%0A%7D

add find minimum in rotated sorted array solution;