设n(n>1)个整数存放在一维数组R中。设计一个在时间和空间两方面尽可能高效的算法。将R中保存的整数序列循环左移P(0<P<n)个位置,即将R中的数据由(X0,X1,…,Xn-1)变换为(Xp,Xp+1,…,Xn-1,X0,X1,…,Xp-1)。要求设计算法并说明算法的时间复杂度和空间复杂度。