i need generate permutations on set of integers.
however placement of numbers matter.
in position 0, range 0-2. in position 1, range 0-3. in position 2, range 0-1.
so answer be:
000 001 010 011 020 021 030 031
100 101 110 111 120 121 130 131
200 201 210 211 220 221 230 231
do like:
public class test { public static void main(string[] args) { test x = new test(); x.generatepermutations(2, 3, 1); } private void generatepermutations(int intervalone, int intervaltwo, int intervalthree) { (int = 0; <= intervalone; i++) { (int j = 0; j <= intervaltwo; j++) { (int k = 0; k <= intervalthree; k++) { system.out.print(i + "" + j + "" + k + " "); } } } } }
edit: think array of number of intervals: (you have check correctness though:
public class test { public static void main(string[] args) { test x = new test(); int[] intervals = { 1, 1, 1, 1, 1 }; x.generatepermutations(intervals); } private void generatepermutations(int[] intervals) { generatepermutations(intervals, 0, ""); } private void generatepermutations(int[] intervals, int intpos, string lastperm) { if (intpos == intervals.length) return; (int = 0; <= intervals[intpos]; i++) { if (intpos == intervals.length - 1) { system.out.print(lastperm + + " "); } generatepermutations(intervals, intpos + 1, lastperm + i); } } }
Comments
Post a Comment