計算某個陣列的子集(在遞迴中不用
for迴圈和
visit
陣列,因為每個結果長度不一致,如果每個結果長度一致,比如求全排列,則需要用
for和
visit
,但後者也可以用記錄層數的方式)
public class main ;
list> li = new arraylist();
fin(nums,li,new arraylist(),0);
system.out.println(li);
}public static void fin(int n ,list> li,listcur,int idx)
//每層是可以選擇不加這個數字
fin(n,li,cur,idx+1);
//每層可以選擇新增這個數字
cur.add(n[idx]);
fin(n,li,cur,idx+1);
//恢復現場
cur.remove(cur.size()-1);
}}
階乘計算 陣列
問題描述 輸入乙個正整數n,輸出n 的值。其中n 1 2 3 n。演算法描述 n 可能很大,而計算機能表示的整數範圍有限,需要使用高精度計算的方法。使用乙個陣列a來表示乙個大整數a,a 0 表示a的個位,a 1 表示a的十位,依次類推。將a乘以乙個整數k變為將陣列a的每乙個元素都乘以k,請注意處理相...
計算陣列的小和
題目 陣列小和的定義如下 例如,陣列s 1,3,5,2,4,6 在s 0 的左邊小於或等於s 0 的數的和為0,在s 1 的左邊小於或等於s 1 的數的和為1,在s 2 的左邊小於或等於s 2 的數的和為1 3 4,在s 3 的左邊小於或等於s 3 的數的和為1,在s 4 的左邊小於或等於s 4 的...
計算陣列的小和
陣列小和的定義如下 例如,陣列s 1,3,5,2,4,6 在s 0 的左邊小於或等於s 0 的數的和為0 在s 1 的左邊小於或等於s 1 的數的和為1 在s 2 的左邊小於或等於s 2 的數的和為1 3 4 在s 3 的左邊小於或等於s 3 的數的和為1 在s 4 的左邊小於或等於s 4 的數的和...