Skip to content

problem of get_kth_combination #12

@noobOriented

Description

@noobOriented

突然想到,若總組合數實在太大,k 無法用 int 表示出來,那這個方法也是不合用的
在此情況,可以使用下列的 code (總組合要遠大於 n ,不然一直沒加成功會很慢)

def gen_n_random_combinations(
        entities: List[List[str]],
        n: int,
    ) -> List[List[str]]:
    assert all(entities)

    ids_set = set()
    while len(ids_set) < n:
        ids_set.add(
            tuple(
                random.randint(0, len(e) - 1) for e in entities
            )
        )

    result = [[e[i] for e, i in zip(entities, ids)] for ids in ids_set]
    return result

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions