Binary 面试问题:找到所有包含K1';s
我被要求实现以下功能:Binary 面试问题:找到所有包含K1';s,binary,combinations,Binary,Combinations,我被要求实现以下功能: void printNumber(int N, int K); 它打印长度为N的所有二进制数,其中包含K个 e、 g 我试图通过将二进制操作为字符串并使用递归来解决这个问题,但我想有一些位操作技巧可以更好地解决这个问题 我可以在这里应用一些魔法吗?最好的方法是生成它们 def go(n,k): if n == 0: if k > 0: return [] if k ==
void printNumber(int N, int K);
它打印长度为N
的所有二进制数,其中包含K
个
e、 g
我试图通过将二进制操作为字符串并使用递归来解决这个问题,但我想有一些位操作技巧可以更好地解决这个问题
我可以在这里应用一些魔法吗?最好的方法是生成它们
def go(n,k):
if n == 0:
if k > 0:
return []
if k == 0:
return ['']
return ['0'+x for x in go(n-1,k)] + ['1'+x for x in go(n-1,k-1)];
首先使用Integer.toBinaryString(i)查找二进制值,然后取出该值的排列
def go(n,k):
if n == 0:
if k > 0:
return []
if k == 0:
return ['']
return ['0'+x for x in go(n-1,k)] + ['1'+x for x in go(n-1,k-1)];