//求出最大最小,次大,次小
int nums = ;
int max = nums[0];//最大值
int min = nums[0]; //最小值
for(int i:nums)
if(i < min)
}int maxth = nums[0]; //次大
int minth = nums[0]; //次小
for(int m:nums)
if(m < minth && m != min)
}system.out.println("max:"+max);
system.out.println("min:"+min);
system.out.println("maxth:"+maxth);
system.out.println("minth:"+minth);
計算最大次大值的最優演算法
求最大,次大值,比較次數為 n log n 2 n 1 為求最大值的代價,log n 1 為求次大值的代價。public class submaxandmaxefficient void heapfindmax int e,int n 找最大值,放到array 1 for last 2 n 2 la...
計算陣列的子集
計算某個陣列的子集 在遞迴中不用 for迴圈和 visit 陣列,因為每個結果長度不一致,如果每個結果長度一致,比如求全排列,則需要用 for和 visit 但後者也可以用記錄層數的方式 public class main list li new arraylist fin nums,li,new ...
計算陣列中的最小值和最大值
下面 中的第一種方法是最簡單最容易想到的方法,但比較次數較多,所用時間較長。第二種方法的效率就高一些了。public class getminmaxvalue getminmax1 a getminmax2 a public static void getminmax1 int a system.o...