[C#] 字串列出所有的排列組合 Parallel For 版本

2022-11-09


最近再寫一個東西,不過很像是大學時代在練習的題目就是有一個字串 "abc" 我要得到所有的組合

也就是 "abc" , "acb" , "bac" ,  "bca" , "cab" , "cba" ,也就是有 n!  的組合,目前沒有想到比較快的方法

於是就是暴力破解,反正都寫了寫下程式碼吧



裡面我有用到  Interlocked,因為非同步的關係,我要計算總數量來驗證,所以可能會卡點速度

C# code:


很簡單就不贅述了

給一下我電腦的數據大概 10  個字的組合我電腦跑了 00:07:51.9577405,快八分鐘

跑出來總計有 3,628,800 ,就是 10! ,這就很好算了,筆記一下,之後需要用到就直接複製貼上

reference:

https://www.javatpoint.com/program-to-find-all-permutations-of-a-string


當麻許的超技八 2014 | Donma Hsu Design.