给定从1到n的整数,确定可以使用这些数字构造多少有效的二进制堆.
Example: 1 2 3 4
Run Code Online (Sandbox Code Playgroud)
有效分堆是:{1 2 3 4},{1 3 2 4},{1 2 4 3},
因此答案是3
对于初学者,我确实看过这些问题:
给定一个整数数组,其中一些数字重复1次,一些数字重复2次,只有一个数字重复3次,你怎么找到重复3次的数字
这一个不同:
给出一个带有一个唯一编号的未排序整数数组,其余数字重复3次,即:
{4,5,3, 5,3,4, 1, 4,3,5 }
Run Code Online (Sandbox Code Playgroud)
我们需要在O(n)时间和O(1)空间中找到这个唯一的数字
注意:这不是一个功课,只是我遇到一个很好的问题