fengrunsheng
生活中本不缺少美,缺少的是發現美的眼睛!
級別: 網絡英雄
|
我認識了一個程序員,講到我們畢業生出來工資大概多少的時候,他出了一道題,說,這個題目的月薪是1000 ,如果做不出 說明你現在可能還需要努力突破¥1000 ,而不是突破¥5000 請用程序打印出a b c d e f g h i j k l這十二個字符的全部組合,每種組合占一行 你的結果可能會是 a b c d e a b c d f …… 請用任何你熟悉的語言寫出程序 10分鐘內完成, |
---|---|
|
fengrunsheng
生活中本不缺少美,缺少的是發現美的眼睛!
級別: 網絡英雄
|
多個嵌套循環的辦法是最容易想到的,并且是最笨的. 為什么不用"堆棧加遞歸" |
---|---|
|
fengrunsheng
生活中本不缺少美,缺少的是發現美的眼睛!
級別: 網絡英雄
|
<script> var stack = new Array("a","b","c","d","e","f","g","h","i","j","k","l"); var buff = new Array(); function getComb(stack, buff) { if(stack.length + buff.length < 5) return; //字母不夠了,不用再試 while(stack.length > 0) //字母還沒用完 { buff.push(stack.shift()); //選取字母 if(buff.length < 5) //還沒到5個字母 { getComb(stack.slice(0), buff.slice(0)); //繼續選取 } else if(buff.length == 5) { document.write(buff+"<br>"); //夠數量了,輸出 } buff.pop(); //丟棄用過的字母 } return; } getComb(stack, buff); </script> |
---|---|
|