这与这个问题有关,但我还想以一种高效的方式使用python或c++来获取相应的补充有序列表,其中包含未选择的元素。例如,对于有序列表
list=(0,1,1,2,3,3)
,当我们选择3个元素时,一个可能的返回对应为(0,1,3)
和(1,2,3)
。此外,我希望该函数返回总共C(n,k)个条目,因此在返回结果中,对于(0,1,3)
和(1,2,3)
这一对,应重复4次。
以下是一个简短输入的完整示例:定义一个函数foo(list,k)
,那么foo([0,1,1],1)
应返回长度为C(3,1)=3的列表r
。
r(0)=[[0],[1,1]] (choose 0, complement list is [1,1])
r(1)=[[1],[0,1]] (choose first 1, complement list is [0,1])
r(2)=[[1],[0,1]] (choose second 1, complement list is [0,1])