Har*_*rma -1 algorithm math counting combinatorics
例如,对于N = 3. 排列是:
[1,3,2]
[2,3,1]
Run Code Online (Sandbox Code Playgroud)
注意:[1,2,3]并且[3,2,1]在此处无效,因为[1,2,3]增加但不减少,反之亦然[3,2,1].
我在TCS CodeVita 2017中遇到了这个问题,他们甚至没有为此提供社论.
N在中间的某个位置N可分为两组:左和右.左侧组按升序排列,右侧组按递减顺序排列.N,所有剩余的数字按降序排列.N.它既不能为空,也不能包含所有N-1数字.因此,答案是数字子集的数量{1, 2, ..., N-1}减去两个角落情况.那是2^(N-1) - 2.
| 归档时间: |
|
| 查看次数: |
268 次 |
| 最近记录: |