文章目录
  1. 1. Rotate Function

Rotate Function


一开始我是用O(N^2)的复杂度来实现的,根据题目中的规则来实现。

但是超时了,实际上可以根据数学规律来实现:

比如size为6的数组

初始状态: 0*[0]+1*[1]+2*[2]+3*[3]+4*[4]+5*[5]

第i=1次旋转: 0*[5]+1*[0]+2*[1]+3*[2]+4*[3]+5*[4]

两者相差[0]+[1]+[2]+[3]+[4]+[5]-6*[5]

由这个规律可以推导出第i次 sum[i] = sum[i-1] + noweightSum - size*A[size-i]

文章目录
  1. 1. Rotate Function