Artikel ini memperkenalkan masalah Java menerapkan pengaturan string dan kombinasi untuk referensi Anda. Konten spesifiknya adalah sebagai berikut
impor java.util.arraylist; impor java.util.collections; /*** Masukkan string dan cetak semua pengaturan karakter dalam string dalam urutan kamus. Misalnya, masukkan string ABC, lalu cetak semua string ABC, ACB, BAC, * BCA, CAB dan CBA yang dapat diatur oleh karakter A, B, C. * * @author pomay * */ kelas publik solution_stringarrange {public arraylist <string> permutasi (string str) {if (str == null) return null; ArrayList <String> list = ArrayList baru <string> (); char [] pStr = str.tochararray (); Permutasi (pstr, 0, daftar); Collections.sort (daftar); daftar pengembalian; } static void permutation (char [] str, int i, arraylist <string> daftar) {// jika kosong if (str == null) return; // Jika saya menunjuk ke karakter terakhir if (i == str.length - 1) {if (list.contains (string.valueof (str))) return; list.add (string.valueof (str)); } else {// I menunjuk ke karakter pertama dari string yang saat ini melakukan operasi permutasi untuk (int j = i; j <str.length; j ++) {// pertukaran karakter pertama dari string yang melakukan operasi permutasi dengan semua karakter berikut char temp = str [j]; str [j] = str [i]; str [i] = temp; // Setelah pertukaran, lakukan pengaturan string rekursif setelah saya. Permutasi (str, i + 1, daftar); // Setelah setiap putaran selesai, sakelar kembali untuk melakukan putaran pengaturan Temp = str [j]; str [j] = str [i]; str [i] = temp; }}} public static void main (string [] args) {string str = "aab"; Solution_stringarrange changestring = solution_stringarrange baru (); ArrayList <String> list = changestring.permutation (str); untuk (int i = 0; i <list.size (); i ++) {System.out.print (list.get (i)+""); }}} kombinasi:
Pilih karakter pertama dalam string panjang n, lalu pilih karakter M-1 dalam string yang tersisa dengan panjang N-1, atau jangan pilih karakter pertama dalam string panjang n, lalu pilih karakter M dalam string yang tersisa dengan panjang N-1
impor java.util.arraylist; impor java.util.list; /*** Masukkan string dan cetak semua kombinasi karakter dalam string dalam urutan kamus. Misalnya, masukkan string ABC, cetak semua string a, b, c, ab, ac, bc *, abc. Pertanyaan untuk menemukan kombinasi karakter N dengan panjang m * * @author pomay * */ kelas publik solution_stringcombination {// Temukan kombinasi semua karakter dalam string ABC> A, B, C, AB, AC, BC, ABC Public Static Perm (String S) {List <String> Hasil = ARRAYLIST NEW ARRAYLIST <); // Mulailah dengan satu untuk (int i = 1; i <= s.length (); i ++) {kombinasi (s, i, hasil); }} // Pilih karakter M dari kombinasi public static void public (string s, int m, daftar <string> hasil) {// if m == 0, lalu ujung rekursif. output hasil arus jika (m == 0) {for (int i = 0; i <result.size (); i ++) {System.out.print (result.get (i)); } System.out.print (","); kembali; } if (s.length ()! = 0) {// pilih elemen saat ini hasil.add (s.charat (0) + ""); // Substring penggunaan, mencegat kombinasi string dari 1 ke ujung kombinasi n (s.substring (1, s.length ()), m - 1, hasil); result.remove (result.size () - 1); // Jangan pilih kombinasi elemen saat ini (s.substring (1, s.length ()), m, hasil); }} public static void main (string [] args) {string str = "abc"; Perm (str); }}Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.