锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 涓钁楀悕杞歡鍏徃鐨刯ava絎旇瘯綆楁硶棰樼殑絳旀 鍘熼濡備笅錛氱敤1銆?銆?銆?銆?銆?榪欏叚涓暟瀛楋紝鐢╦ava鍐欎竴涓▼搴忥紝鎵撳嵃鍑烘墍鏈変笉鍚岀殑鎺掑垪錛屽錛?12234銆?12345絳夛紝瑕佹眰錛?4"涓嶈兘鍦ㄧ涓変綅錛?3"涓?5"涓嶈兘鐩歌繛銆?/p>
瑙i鎬濊礬錛?/p>
寰堟槑鏄撅紝榪欐槸涓涓掑綊綆楁硶銆傛垜浠彲浠ユ帓鍒楀皢榪?涓暟鎸変粠灝忓埌澶х殑欏哄簭鎺掍竴涓嬶紝濡傛灉鏄?,2,3,4,5,6錛岄偅涔堜細鏈?*2*3*4*5*6= 6!=720涓掑鐨勬暟銆備絾濡傛灉鏄?,2,2,3,4,5錛岄偅涔堝湪榪?20涓暟涓竴瀹氫細鏈夌浉鍚岀殑鏁板鍑虹幇錛堢敱浜庡湪榪?涓暟涓彧鏈変袱涓暟涓ゅ悓錛屼篃灝辨槸璇達紝濡傛灉鏈夐噸澶嶇殑鏁幫紝閭d箞涓瀹氭槸涓瀵規暟錛屽122345浼氬嚭鐜頒袱嬈★級銆?/p>
鎺掑垪鐨勫熀鏈鍒欐槸鍒嗘榪涜銆備篃灝辨槸璇達紝瑕佹帓鍒椾笂闈?涓暟錛岄鍏堝簲璇ラ夋嫨絎竴涓暟錛岃繖絎竴涓暟鍙互閫夋嫨榪?涓暟涓殑浠繪剰涓涓紝濡傞夋嫨1.絎簩姝ユ槸閫夋嫨絎簩涓暟錛岃繖絎簩涓暟涓嶈兘鍐嶉夋嫨宸茬粡閫夎繃鐨勬暟錛屽1.鍥犳錛屽畠鍙兘浠庡悗闈?涓暟涓夋嫨銆傚閫夋嫨2銆備互姝ょ被鎺ㄣ?/p>
鎴戜滑涔熷彲浠ュ湪紼嬪簭涓ā鎷熻繖涓榪囩▼銆傛簮紼嬪簭濡備笅錛?/p>
public class test1 { private int[] numbers = new int[] { 1, 2, 3, 3, 4, 5 }; public int n; private String lastResult = ""; private boolean validate(String s) { if (s.compareTo(lastResult) <= 0) return false; if (s.charAt(2) == '4') return false; if (s.indexOf("35") >= 0 || s.indexOf("53") >= 0) return false; return true; } public void list(String index, String result) { for (int i = 0; i < numbers.length; i++) { if (index.indexOf(i + 48) < 0) { String s = result + String.valueOf(numbers[i]); if (s.length() == numbers.length) { if (validate(s)) { System.out.println(s); lastResult = s; n++; } break; } list(index + String.valueOf(i), s); } } } public static void main(String[] args) { test1 t = new test1(); t.list("", ""); System.out.println("鎬繪暟錛? + t.n); } } 鍏朵腑list鍑芥暟鏄繖涓畻娉曠殑鏍稿績鍑芥暟銆俰ndex鍙傛暟琛ㄧず宸茬粡閫夋嫨榪囩殑鏁幫紝鐢╪umbers鏁扮粍鐨勭儲寮曡〃紺恒傚index="012"錛岃〃紺簄umbers鐨勫墠涓変釜鏁板凡緇忚閫夋嫨錛屼篃琛ㄧず搴旇閫夋嫨絎洓涓暟浜嗭紝鑰岃繖絎洓涓暟搴旇浠庡悗涓変釜鏁頒腑閫夋嫨銆俽esult鍙傛暟琛ㄧず涓存椂鐨勬暟瀛楃粍鍚堬紙榪欎釜鏁板瓧緇勫悎鏈澶氭槸5涓暟瀛楋紝鍥犱負錛屽鏋滃埌浜?涓暟瀛楋紝灝辮〃紺哄凡緇忔湁涓涓粨鏋滀駭鐢熶簡錛夈傚湪榛樿鎯呭喌涓媔ndex鍜宺esult鐨勫奸兘鏄?"銆?/p>
鍦╲alidate涓嬌鐢ㄤ簡 if (s.compareTo(lastResult) <= 0)榪涜鍒ゆ柇錛岀敱浜庢寜榪欑鏂規硶榪涜鎺掑垪錛屽鏋滆繖6涓暟鏄掑緇欏嚭鐨勶紝閭d箞鎺掑垪鐨勭粨鏋滀竴瀹氭槸閫掑鐨勶紝浣嗕笂榪扮殑6涓暟鍏朵腑絎?鍜岀3涓綅緗笂閮芥槸2,鍥犳錛屽鏋滃嚭鐜頒簡涓婁竴涓粨鏋滀笉灝忎簬褰撳墠緇撴灉鐨勬儏鍐碉紝涓瀹氭槸鏈夐噸澶嶄簡錛屽洜姝わ紝瑕佸皢榪欓儴鍒嗘暟榪囨護鍑哄幓銆?/p>
浣跨敤1, 2, 2, 3, 4, 5鐨勬祴璇曠粨鏋?/p>
122345 122543 123245 123254 123425 123452 125234 125243 125423 125432 132245 132254 132425 132452 132524 132542 142325 142523 143225 143252 145223 145232 152234 152243 152324 152342 152423 152432 212345 212543 213245 213254 213425 213452 215234 215243 215423 215432 221345 221543 223145 223154 223415 223451 225134 225143 225413 225431 231245 231254 231425 231452 231524 231542 232145 232154 232415 232451 232514 232541 241325 241523 242315 242513 243125 243152 243215 243251 245123 245132 245213 245231 251234 251243 251324 251342 251423 251432 252134 252143 252314 252341 252413 252431 312245 312254 312425 312452 312524 312542 315224 315242 315422 321245 321254 321425 321452 321524 321542 322145 322154 322415 322451 322514 322541 325124 325142 325214 325241 325412 325421 341225 341252 341522 342125 342152 342215 342251 342512 342521 345122 345212 345221 412325 412523 413225 413252 415223 415232 421325 421523 422315 422513 423125 423152 423215 423251 425123 425132 425213 425231 431225 431252 431522 432125 432152 432215 432251 432512 432521 451223 451232 451322 452123 452132 452213 452231 452312 452321 512234 512243 512324 512342 512423 512432 513224 513242 513422 521234 521243 521324 521342 521423 521432 522134 522143 522314 522341 522413 522431 523124 523142 523214 523241 523412 523421 541223 541232 541322 542123 542132 542213 542231 542312 542321 543122 543212 543221 鎬繪暟錛?98 浣跨敤1,2, 3, 3, 4, 5鐨勬祴璇曠粨鏋?/p>
123345 125433 132345 132543 133245 133254 133425 133452 143325 145233 152334 152343 152433 213345 215433 231345 231543 233145 233154 233415 233451 243315 245133 251334 251343 251433 312345 312543 313245 313254 313425 313452 315234 315243 315423 315432 321345 321543 323145 323154 323415 323451 325134 325143 325413 325431 331245 331254 331425 331452 331524 331542 332145 332154 332415 332451 332514 332541 341325 341523 342315 342513 343125 343152 343215 343251 345123 345132 345213 345231 413325 415233 423315 425133 431325 431523 432315 432513 433125 433152 433215 433251 451233 451323 451332 452133 452313 452331 512334 512343 512433 513234 513243 513324 513342 513423 513432 521334 521343 521433 523134 523143 523314 523341 523413 523431 541233 541323 541332 542133 542313 542331 543123 543132 543213 543231 543312 543321 鎬繪暟錛?18 浣跨敤1, 3, 3, 3, 4, 5鐨勬祴璇曠粨鏋?/p>
133345 313345 315433 331345 331543 333145 333154 333415 333451 343315 345133 433315 451333 513334 513343 513433 541333 543133 543313 543331 鎬繪暟錛?0 ================================================================================================================================================== 鍙︿竴涓瓟妗堬細 ==================================================================================================================================================== public class DefTest { public static boolean validate(String s) { if (s.charAt(2) == '4') return false; if (s.indexOf("35") >= 0 || s.indexOf("53") >= 0) return false; return true; } public static void main(String[] ssdfa) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException { cmp("","122345"); } public static void cmp(String p,String ss) { if(ss.length() == 1) { if(validate(p+ss)) System.out.println(p+ss); return; } for(int i=0;i<ss.length();i++) { if(ss.indexOf(ss.charAt(i)) == i) cmp(p+ss.charAt(i),ss.substring(0,i)+ss.substring(i+1, ss.length())); } } }