0
点赞
收藏
分享

微信扫一扫

旋转数组算法

public class RotateArray {
    public void rotate(int[] nums, int k) {
        int n = nums.length;
        int[] temp = new int[n];

        // 将原数组的元素逐个放到新的位置上
        for (int i = 0; i < n; i++) {
            temp[(i + k) % n] = nums[i];
        }

        // 将新数组的元素复制回原数组
        System.arraycopy(temp, 0, nums, 0, n);
    }

    public static void main(String[] args) {
        RotateArray rotator = new RotateArray();
        int[] nums = {1, 2, 3, 4, 5, 6, 7};
        int k = 3;
        rotator.rotate(nums, k);

        // 输出旋转后的数组
        System.out.print("[");
        for (int i = 0; i < nums.length; i++) {
            System.out.print(nums[i]);
            if (i < nums.length - 1) {
                System.out.print(", ");
            }
        }
        System.out.println("]");
    }
}



举报

相关推荐

0 条评论