当前位置: 首页 > 后端技术 > Java

LeetCode-189-RotateArray

时间:2023-04-01 15:25:00 Java

RotateArray题目描述:给定一个数组,将数组中的元素向右移动k个位置,其中k为非负数。高级:提出尽可能多的解决方案,至少三种不同的方法来解决问题。你能用O(1)空间复杂度的就地算法解决这个问题吗?例子见LeetCode官网。来源:LeetCode链接:https://leetcode-cn.com/probl...版权归LeetCode所有。商业转载请联系官方授权,非商业转载请注明出处。解法一:数组遍历首先可以知道,数组的索引i所在的数在旋转后应该放在(i+k)%N中,其中N是数组的大小,所以通过遍历数组,并声明一个备用数组来放置旋转数组的具体过程如下:首先,将数组的每一位移动到应该旋转的位置;然后重置nums数组。publicclassLeetCode_189{/***备用空间**@paramnums*@paramk*/publicstaticvoidrotate(int[]nums,intk){int[]copy=newint[nums.length];//首先将数组的每一位移动到应该旋转的位置for(inti=0;i