【发布时间】:2013-08-01 13:55:42
【问题描述】:
这里给定了两个数量相等的数字 1 和 0。现在我试图找到它的可能排列。像这样假设我给了 2 个 1 和 2 个 0。我从这个 0011 开始。然后我将第一个 1 沿左侧移动,生成 0101,然后 1001。现在我移动第二个 1,生成 1010 和 1100。这种方法是否有效。我缺少 0110,我不知道该怎么做。我想有像递归回溯这样的方法来做到这一点。但我不知道回溯的技术。我确实了解递归。所以谁能告诉我方法吗?迭代或递归。如果可能,两者都可以。 我试图找到所有可能的排列。对于 2 个 1 和 0,它是 1001,1100,1010,0101,0110,0011。这是 4!/(2!*2!) 排列。我该如何做更多,例如 111000 或 11110000 ?语言是 C++。为了澄清起见,它可以是任何字符,如 ooii 或 kkjj。那应该是我正在操作的字符串
【问题讨论】:
-
任何特定的语言?这种问题似乎出现了很多,我正在尝试找到一个合适的链接