クラスのソリューション{ 公共 のボイドバック(int型、nは、ArrayListの<整数> NUMS、リスト<リスト<Integer型>>出力INT {最初) であれば(最初== n)をoutput.add(新しいのArrayList <Integer型> (NUMS)); 以下のために(int型私は++; iがn <I =最初{) (第一、I、NUMS)Collections.swapと、 バック(N、NUMS、出力、最初 +1 )。 Collections.swap(NUMS、I、最初の); } } パブリックリスト<リスト<整数>>並び替える(INT [] NUMS){ int型のn = nums.length。 リスト<リスト<Integer型>>出力= 新しいArrayListを(); ArrayListの <整数> nums2 = 新しいのArrayList <Integer型> (); 用(int型NUM:NUMS){ nums2.add(NUM)。 } バック(N、nums2、出力、 0 ); 戻り値の出力; } }