題目連結:
給定一正整數 N (1 ≦ N ≦ 10)。請求出連續整數 1 ~ N 的所有可能排列,並按照字典序輸出。
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
跟
這題類似的作法,只是每個數字可以隨便接在任意數字後面。
直接遞迴後輸出可以過。而要輸出得快一點的話,簡單的輸出最佳化就是將 cout 解綁或是將 cout 換成 printf(這邊當然是以 C++ 為主);想做額外最佳化的,可以參見
這題。
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。