Rotate an array of n elements to the right by k steps.
For example, with n = 7 and k = 3, the array [1,2,3,4,5,6,7] is rotated to [5,6,7,1,2,3,4].
Note:
Try to come up as many solutions as you can, there are at least 3 different ways to solve this problem.
[show hint]
Hint:
Could you do it in-place with O(1) extra space?
Related problem: Reverse Words in a String II
Credits:
Special thanks to @Freezen for adding this problem and creating all test cases.
我想到的就是反转,但是开始写的反转用了惯性思维,用下标控制,很不理想,花费大量时间还弄不精确,后来看了个湄公河,嘿嘿,一下反应到用m,n分别是起始位置和结束位置,然后一直到m
public void rotate(

这篇博客讨论了LeetCode中189题的解决方案,即如何将一个数组向右旋转k步。作者提到了尝试多种解法,并指出了一种使用起始和结束位置进行旋转的高效方法,该方法占用O(1)额外空间。此外,作者还分享了最初尝试的反转算法并计划更新其他四种解法。
订阅专栏 解锁全文
342

被折叠的 条评论
为什么被折叠?



