二进制数的唯一排列

时间:2014-04-22 19:04:52

标签: algorithm permutation

我有二进制数,例如1010,我想知道该二进制数的唯一排列数。

例如,1010有6个独特的排列:

  • 0011
  • 0101
  • 1010
  • 0110
  • 1001
  • 1100

虽然1000有4种独特的排列:

  • 1000
  • 0100
  • 0010
  • 0001

那么,给定长度为X的二进制字符串,N 1s和X-N 0s,有多少个唯一排列?

1 个答案:

答案 0 :(得分:5)

你的问题等同于问题,"对于包含X元素的集合,可以形成多少个不同的n元素子集?"在X元素集是"二进制字符串"和n元素子集的索引是"二进制字符串的索引将被分配1"。查看binomial coefficient的公式,答案为" X选择N"或(X!) / (N! * (X-N)!)

相关问题