美文网首页
2022-04-26 「189. 轮转数组」

2022-04-26 「189. 轮转数组」

作者: 柠香萌萌鸡 | 来源:发表于2022-04-26 09:19 被阅读0次

今日中等题:https://leetcode-cn.com/problems/rotate-array/

哈哈开始还疑惑,这么简单的题怎么可能是中等,咔咔一顿操作提交完,才发现自己没认真看要求,O(1)空间复杂度,我这种新开辟数组空间的就妥妥地不满足了。
难怪题目开始就是void类型,导致我做了两次遍历,第一次把新数组组装好,第二次把数值替换进旧数组。

参考了题解,思路就是做3次翻转,比如nums= [1,2,3,4,5,6,7], k=3:

  1. 把[1,2,3,4,5,6,7]头尾交换,变成[7,6,5,4,3,2,1]
  2. 把前3位做头尾交换,变成[5,6,7,4,3,2,1]
  3. 把后4位做头尾交换,变成[5,6,7,1,2,3,4]

看下我稀碎的答案:

class Solution {
    public void rotate(int[] nums, int k) {
        int n = nums.length;
        int[] ans = new int[n];
        for (int i=0;i<n;i++){
            int m = (i+k) % n;
            ans[m] = nums[i];
        }
        for (int j=0;j<n;j++){
            nums[j]=ans[j];
        }
    }
}

相关文章

  • 63.轮转数组

    day:14 189. 轮转数组[https://leetcode-cn.com/problems/rotate...

  • 2022-04-26 「189. 轮转数组」

    今日中等题:https://leetcode-cn.com/problems/rotate-array/[http...

  • LeetCode:189. 轮转数组

    问题链接 189. 轮转数组[https://leetcode-cn.com/problems/rotate-ar...

  • 189. 轮转数组

    题目地址(189. 轮转数组) https://leetcode.cn/problems/rotate-array...

  • 189. 轮转数组

    https://leetcode.cn/problems/rotate-array/[https://leetco...

  • 189. 轮转数组

    1.题目 给你一个数组,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 示例 1:输入: nums = ...

  • LeetCode 189. 轮转数组

    题目 给你一个数组,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 例:输入: nums = [1,2,...

  • 189. 旋转数组

    189. 旋转数组[https://leetcode-cn.com/problems/rotate-array/]...

  • 算法:旋转数组

    189. 旋转数组[https://leetcode-cn.com/problems/rotate-array/]...

  • LeetCodeDay02

    189. 旋转数组 描述 将包含 n 个元素的数组向右旋转 k 步。 例如,如果 n = 7 , k = 3,...

网友评论

      本文标题:2022-04-26 「189. 轮转数组」

      本文链接:https://www.haomeiwen.com/subject/azdcyrtx.html