如何实现Python3中三种数组旋转算法的实例代码?
- 内容介绍
- 文章标签
- 相关推荐
本文共计845个文字,预计阅读时间需要4分钟。
Python3实现旋转数组的3种算法及下面是Python3实现的旋转数组的3种算法:
1.题目:给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。
例如:输入:[1,2,3,4,5,6,7] 和 k=32.方法一:使用额外的数组
1. 创建一个长度与原数组相同的临时数组 2. 将原数组从后往前复制到临时数组的前k个位置 3. 将原数组从前往后复制到临时数组的剩余位置 4. 将临时数组复制回原数组3.方法二:三次翻转
1. 翻转整个数组 2. 翻转数组的前k个元素 3. 翻转数组的剩余元素4.方法三:使用一个循环
1. 初始化一个空数组result 2. 遍历原数组,将每个元素添加到result中,索引为(索引+k)%数组长度 3. 将result复制回原数组Python3实现旋转数组的3种算法
下面是Python3实现的旋转数组的3种算法。
一、题目
给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。
例如:
输入: [1,2,3,4,5,6,7] 和 k = 3
输出: [5,6,7,1,2,3,4]
解释:
向右旋转 1 步: [7,1,2,3,4,5,6]
向右旋转 2 步: [6,7,1,2,3,4,5]
向右旋转 3 步: [5,6,7,1,2,3,4]
说明:
1.尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。
2.要求使用空间复杂度为 O(1) 的原地算法。
本文共计845个文字,预计阅读时间需要4分钟。
Python3实现旋转数组的3种算法及下面是Python3实现的旋转数组的3种算法:
1.题目:给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。
例如:输入:[1,2,3,4,5,6,7] 和 k=32.方法一:使用额外的数组
1. 创建一个长度与原数组相同的临时数组 2. 将原数组从后往前复制到临时数组的前k个位置 3. 将原数组从前往后复制到临时数组的剩余位置 4. 将临时数组复制回原数组3.方法二:三次翻转
1. 翻转整个数组 2. 翻转数组的前k个元素 3. 翻转数组的剩余元素4.方法三:使用一个循环
1. 初始化一个空数组result 2. 遍历原数组,将每个元素添加到result中,索引为(索引+k)%数组长度 3. 将result复制回原数组Python3实现旋转数组的3种算法
下面是Python3实现的旋转数组的3种算法。
一、题目
给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。
例如:
输入: [1,2,3,4,5,6,7] 和 k = 3
输出: [5,6,7,1,2,3,4]
解释:
向右旋转 1 步: [7,1,2,3,4,5,6]
向右旋转 2 步: [6,7,1,2,3,4,5]
向右旋转 3 步: [5,6,7,1,2,3,4]
说明:
1.尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。
2.要求使用空间复杂度为 O(1) 的原地算法。

