📜  用于程序循环旋转数组的Javascript程序

📅  最后修改于: 2022-05-13 01:57:52.975000             🧑  作者: Mango

用于程序循环旋转数组的Javascript程序

给定一个数组,将数组顺时针循环旋转一圈。

例子:

Input:  arr[] = {1, 2, 3, 4, 5}
Output: arr[] = {5, 1, 2, 3, 4}

以下是步骤。
1) 将最后一个元素存储在变量 x 中。
2) 将所有元素向前移动一位。
3) 用 x 替换数组的第一个元素。

Javascript


Javascript


输出
Given array is 
1 2 3 4 5 

Rotated array is
5 1 2 3 4 

时间复杂度:O(n) 因为我们需要遍历所有元素
辅助空间:O(1)
上述问题也可以通过反转算法来解决。

另一种方法:

我们可以使用两个指针,比如ij ,它们分别指向数组的第一个最后一个元素。正如我们在循环旋转中所知道的,我们会将最后一个元素放在第一个元素并向前移动其余元素,因此开始交换 arr[i] 和 arr[j] 并保持 j 固定并且 i 向 j 移动。重复直到 i 不等于 j。

Javascript


输出
Given array is 
1 2 3 4 5 
Rotated array is
5 1 2 3 4 

有关详细信息,请参阅有关将数组循环旋转 1 的完整文章!