第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

發(fā)電功率集算法實現(xiàn)

發(fā)電功率集算法實現(xiàn)

繁星淼淼 2022-08-16 18:16:06
什么是功率集算法的良好實現(xiàn)?最近,我需要這個算法來為我的益智游戲構(gòu)建一個求解器。通常,求解器應嘗試策略(轉(zhuǎn)彎集,可能的轉(zhuǎn)彎功率集)并找到形成解決方案的策略。我發(fā)現(xiàn),維基百科頁面上顯示的樸素實現(xiàn),以及來自js-combinatorics庫的實現(xiàn),并不能提供生成子集中項目的穩(wěn)定順序。此外,利用集合的雙射到自然數(shù)集合并遵循二進制表示的樸素方法受源集大小的限制。這種限制自然而然地發(fā)生在以下事實中:在內(nèi)部,提到的庫使用 32 位整數(shù)值來生成子集。
查看完整描述

2 回答

?
眼眸繁星

TA貢獻1873條經(jīng)驗 獲得超9個贊

使用 itertools recipes 的實現(xiàn):

from itertools import chain, combinations
def powerset(iterable):
    "powerset([1,2,3]) --> () (1,) (2,) (3,) (1,2) (1,3) (2,3) (1,2,3)"
    s = list(iterable)
        return chain.from_iterable(combinations(s, r) for r in range(len(s)+1))
print(*powerset([1,2,3]))

輸出:

() (1,) (2,) (3,) (1, 2) (1, 3) (2, 3) (1, 2, 3)

它生成元組 - 但您可以根據(jù)需要轉(zhuǎn)換它們。它看起來也比你的解決方案短得多...


查看完整回答
反對 回復 2022-08-16
?
梵蒂岡之花

TA貢獻1900條經(jīng)驗 獲得超5個贊

可能,Stackoverflow不是共享Gist片段的最佳選擇,但存在相關(guān)問題,我決定在這里分享我的片段,并相信它可能對那些正在尋找Power Set算法實現(xiàn)和Stackoverflow社區(qū)本身的人有用。

https://gist.github.com/vladignatyev/e76b5fd1c3cdfff7034ce17506fae36e

我的實現(xiàn)可能難以理解。請與我自由分享您與此開源軟件相關(guān)的問題,改進和建議!

Usage:
    >>> ps = power_set([1,2,3])
    >>> for ss in ps:            print(ss)
Output:
    [], 
    [1], 
    [2], 
    [3], 
    [1, 2], 
    [1, 3], 
    [2, 3], 
    [1, 2, 3]

供您參考,我將代碼移植到純 Swift 5,不需要依賴項。退房-->https://gist.github.com/vladignatyev/7e9399930cb614d6251a4f82b8e75ff1


查看完整回答
反對 回復 2022-08-16
  • 2 回答
  • 0 關(guān)注
  • 124 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號