使用java列舉所有給定數組中和為定值的組合


 

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);
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM