Algorithm 找到数字1到N的排列,使排列中的任意两个数字的平均值不会出现在它们之间
对于例如:对于N=4,[1,3,2,4]是溶液置换,但[1,4,2,3]不是,因为2出现在1和3之间 我在读这篇解决这个问题的博客文章。Algorithm 找到数字1到N的排列,使排列中的任意两个数字的平均值不会出现在它们之间,algorithm,math,permutation,Algorithm,Math,Permutation,对于例如:对于N=4,[1,3,2,4]是溶液置换,但[1,4,2,3]不是,因为2出现在1和3之间 我在读这篇解决这个问题的博客文章。 我无法理解解决这个问题的分而治之的方法,因为奇数和偶数的平均数不是整数,因此不需要关心。我很难理解第一次除法后逻辑是如何进行的。以下是如何将此问题简化为较小的问题: 假设所有输入的数字都是偶数。然后,将所有数字除以2并求解,最后将所有数字乘以2 假设所有输入的数字都是奇数。然后,给所有数字加1,然后求解它们,最后从所有数字中减去1 假设有些数字是奇数,有些是
我无法理解解决这个问题的分而治之的方法,因为奇数和偶数的平均数不是整数,因此不需要关心。我很难理解第一次除法后逻辑是如何进行的。以下是如何将此问题简化为较小的问题:
P([1,2,3,4,5,6,7]) = [1,5,3,7,2,6,4]
P([1,2,3,4,5,6,7]) = [1,5,3,7,2,6,4]