1131. 排列中的函数
中文English
从1~nn 的全排列共有 n!n! 种。例如 n = 3n=3,共有 3!=63!=6 种排列如下:
1,2,3
1,3,2
2,1,3
2,3,1
3,1,2
3,2,1
对于 nn 的任意一种排列 AA,A_xAx 表示在第 xx 个位置上的数,1 leq x leq n1≤x≤n。定义一个函数F(x)F(x)如下:
F(x)= egin{cases} A_1& ext{x = 1}\ |F(x-1)-A_x|& ext{x = 2,3......n} end{cases}F(x)={A1∣F(x−1)−Ax∣x = 1x = 2,3......n
其中 |x|∣x∣ 代表 xx 的绝对值。
现在给出 nn,请你求出:对于 nn 的全排列中,F(n)F(n) 的最小值和最大值分别是多少?结果的格式为[F(n)min, F(n)max][F(n)min,F(n)max]。
样例
输入样例: n=3
输出样例:[0, 2]
样例解释:
对于排列[1,2,3]:
F(1)=A_1=1F(1)=A1=1
F(2)=|F(1)-A_2|=|1-2|=1F(2)=∣F(1)−A2∣=∣1−2∣=1
F(3)=|F(2)-A_3|=|1-3|=2F(3)=∣F(2)−A3∣=∣1−3∣=2
所以该排列F(n)=2;
同理,[1,3,2]的F(n)=0;[2,1,3]的F(n)=2;[2,3,1]的F(n)=0;[3,1,2]的F(n)=0;[3,2,1]的F(n)=0;
因此,F(n)最小值为0,F(n)最大值为2,返回[0, 2]
注意事项
1 leq n leq 10^51≤n≤105