Python中数组旋转的不同方法在本教程中,我们将学习如何使用Python程序旋转数组。我们将编写一个用于旋转(array [], E, K)的函数,该函数将用于将大小为K = 8的array[]旋转E = 4个元素。 ![]() 将数组旋转4个元素后,我们将得到如下数组: ![]() 数组旋转的方法:在这一节中,我们将讨论用户可以根据他们的需求使用不同的方法来旋转数组。 方法1:使用temp数组在这种方法中,我们将使用以下方法: 步骤1:我们将“E”元素存储在一个临时数组中 Temp[] = [1,3,5,7] 步骤2:我们会把剩下的人[] [] = [9,11,13,15] 步骤3:我们将存储“E”元素 [] = [9,11,13,15,1,3,5,7] 例子: 输出: 旋转4个元素后的数组为:[9,11,13,15,1,3,5,7] 在上述方法中: 方法二:逐个旋转元素在这种方法中,我们将使用以下方法: rotate_array1(array [], E, K)
我们必须在临时变量“temp_1”中存储array[0],用于将元素旋转1次。然后我们将把更多的array[1]变为array[0],将更多的array[2]变为array[1],以此类推。最后,我们将得到数组[n-1]上的temp_1。 例子: 输出: 旋转后的数组:13 5 7 9 11 13 15 在上述方法中: 方法三:使用杂耍算法在这种方法中,我们将把数组分成不同的集合,而不是一个一个地移动元素。 当集合的数量等于“K”和“E”的最大公约数时,代码将把元素建模到集合中。 如果最大公约数等于1,则元素将只移动到一个集合中。这里,我们将从temp_1 = harry[0]开始,它将继续将harry [J + E]移动到harry [J],最后,它将把temp_1存储在正确的位置。 让我们看一个例子,K = 16, E = 4。最大公约数(G_C_D) = 4 步骤,
此集合完成后,ry[]将等于[15, 12, 13, 14,19日,16,17,18,23[20、21、22、11、23、24、25、26]
例子: 输出: 旋转后的数组:[15,16,17,18,19,20,21,22,23,24,25,26,11,12,13,14] 在上述方法中: 方法4:使用列表切片在这个方法中,我们将使用列表切片来旋转数组的元素。 例子: 输出: 列表为:[11,12,13,14,15,16,17,18],旋转列表为:[15,16,17,18,11,12,13,14] 如果我们想要旋转数组超过它的长度,我们可以使用mod方法。 假设我们要以“E”为单位旋转的数组大小为“K”,并且“E”大于“K”。在这种情况下,我们必须计算(E%K),然后我们可以通过mod计算后的输出来旋转。 结论在本文中,我们讨论了如何使用Python使用不同的方法来旋转给定的数组。
下一个话题
什么是Python中的操作符重载
|