看板 [ Python ]
討論串[問題] 排列組合只取一半
共 7 篇文章
首頁
上一頁
1
2
下一頁
尾頁

推噓2(2推 0噓 0→)留言2則,0人參與, 最新作者XII (Mathkid)時間8年前 (2017/08/22 18:21), 編輯資訊
0
2
0
內容預覽:
應該就只是簡單的高中數學. 即 1,2,...,n 的排列, 依字典序排列, 取第 n!/2 個 (n≧2). 容易知道:. (1) 當 n 為偶數時, 所求為. n/2, n, n-1,..., n/2+1, n/2-1,..., 2, 1. (第一位排 n/2, 剩下由大至小排列). (2) 當
(還有174個字)

推噓0(0推 0噓 1→)留言1則,0人參與, 最新作者hutdris時間8年前 (2017/08/22 17:58), 編輯資訊
0
0
1
內容預覽:
因為所有可能的排列組合有N!種,就算算到一半停下來,. 時間複雜度也是O(N!),當N>15的時候一般電腦可能就跑不出來了,. 故不太可能窮舉。. 我們回頭來觀察s='abc'的排列組合. abc. acb. bac. bca. cab. cba. 後發現現兩件事情:. 1. 每個字串的首字元排序有
(還有551個字)

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者cutekid (可愛小孩子)時間8年前 (2017/08/22 17:46), 編輯資訊
0
1
1
內容預覽:
def middle_permutation(string):. arr = sorted(list(string)). arrLen = len(arr). half = (arrLen - 1) // 2. if(arrLen % 2):. ans = arr.pop(half) + arr.p
(還有36個字)

推噓1(1推 0噓 0→)留言1則,0人參與, 最新作者herber523 (Herber)時間8年前 (2017/08/22 17:24), 編輯資訊
0
1
0
內容預覽:
附上我的解法囉. http://i.imgur.com/JWWiAru.png. -----. Sent from JPTT on my Xiaomi Redmi Note 4.. --. 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.138.186.248. 文章網址: htt

推噓1(1推 0噓 2→)留言3則,0人參與, 最新作者ptt0720 (濕濕)時間8年前 (2017/08/22 05:45), 編輯資訊
0
1
1
內容預覽:
感謝您的解釋 算是稍微了解迭代器(iterator)的運作方式了. 我也把code改成這樣. http://i.imgur.com/40wI9d8.png. 但送出之後 系統還是覺得我的運算時間太長了. 我也直接把題目po出來 希望能夠拋磚引玉囉. https://www.codewars.com/
(還有43個字)
首頁
上一頁
1
2
下一頁
尾頁