使用java列舉所有給定陣列中和為定值的組合
阿新 • • 發佈:2018-11-06
import java.util.Arrays; public class SolveProb { static int[] arr = new int[100]; static int index = 0;// 記錄當前 public SolveProb() { } public static void numGroup(int[] arr, int start, int length, int sum) { if (sum == 0) { for (int j = 0; j < index; j++) { System.out.print(arr[j]); } System.out.println(); } else { for (int i = start; i < length; i++) { arr[index++] = arr[i]; SolveProb.numGroup(arr, i + 1, length-1, sum - arr[i]); } } index--; }public static void main(String[] args) { int[] arr = { 1, 3, 2, 4, 5, 6, 7, 8, 9 }; Arrays.sort(arr); int sum = 7; SolveProb.numGroup(arr, 0, arr.length, sum); } }