LeetCode旋转数组(Python)

题目

LeetCode旋转数组(Python)_第1张图片

解题思路

1、暴力法——每次将所有元素向右移动一位,总共移动k次:

LeetCode旋转数组(Python)_第2张图片
但由于时间复杂度为O(n*k),因此执行结果超出时间限制。

2、环状替换法——官方解释已经比较清楚了,这里放上来:

LeetCode旋转数组(Python)_第3张图片
代码为:

LeetCode旋转数组(Python)_第4张图片
执行结果为:

LeetCode旋转数组(Python)_第5张图片
3、反转法——

LeetCode旋转数组(Python)_第6张图片
代码为:

LeetCode旋转数组(Python)_第7张图片

执行结果为:

LeetCode旋转数组(Python)_第8张图片

你可能感兴趣的:(LeetCode之路,leetcode,python)