旋转数组
一个数组A中存有 n 个整数,在不允许使用另外数组的前提下,将每个整数循环向右移 M( M >=0)个位置。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?
要求:空间复杂度 O(1),时间复杂度 O(n)nxt = (cur + m) % n tmp, a[nxt] = a[nxt], tmp cur = nxt
Last updated
一个数组A中存有 n 个整数,在不允许使用另外数组的前提下,将每个整数循环向右移 M( M >=0)个位置。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?
要求:空间复杂度 O(1),时间复杂度 O(n)nxt = (cur + m) % n
tmp, a[nxt] = a[nxt], tmp
cur = nxtLast updated