在一次采访中询问了这个问题.
对于给定的整数n> = 3,返回大小为2n的数组,使得从1到n的每个数字k恰好发生两次,并且每个数字和它的重复以等于该数字的距离分开.
功能签名:
int* buildArray(int n)
Run Code Online (Sandbox Code Playgroud)
例如,对于n = 3:
3, 1, 2, 1, 3, 2
Run Code Online (Sandbox Code Playgroud)
编号2:第一个位置3和第二个位置6,所以距离6 - 3 - 1 = 2.
编号3:第一个3位置1,第二个3位置5,距离5 - 1 - 1 = 3.
对于n = 4:
4, 1, 3, 1, 2, 4, 3, 2
Run Code Online (Sandbox Code Playgroud)