美文网首页
每日一道算法题 - 旋转数组

每日一道算法题 - 旋转数组

作者: 辉_ace | 来源:发表于2021-12-11 20:06 被阅读0次

问题

给定一个数组nums,将数组中的元素【向右】旋转k个位置。

思路

每个元素向右旋转,相当于要确定当前元素的新的位置,位置计算:(当前元素下标+要旋转多少个位置)% 数组长度。

实现

public class ReverseArray {

    public static void main(String[] args) {

        int[] nums = new int[]{1,2,3,4,5,6,7};
        int k = 3;
        int[] result = rotate(nums,k);
        System.out.println(Arrays.toString(result));
    }

    private static int[] rotate(int[] nums, int k) {
        //获取数组长度
        int length = nums.length;
        //定义一个新数组
        int[] result = new int[length];

        //遍历原数组,将原数组值+k ,%length确定元素在新数组中的位置,并赋值
        for (int i=0;i<length;i++){
             result[(i+k)%length]= nums[i];
        }
        return result;
    }
}

相关文章

  • 每日一道算法题 - 旋转数组

    问题 给定一个数组nums,将数组中的元素【向右】旋转k个位置。 思路 每个元素向右旋转,相当于要确定当前元素的新...

  • 每日一道算法题-leetcode189.旋转数组

    前言 2019.10.27日打卡 算法,即解决问题的方法。同一个问题,使用不同的算法,虽然得到的结果相同,但是耗费...

  • 算法题资源

    算法网站LeetCodeCodewars 个人出题每日一道算法题 每天小胡子哥都会出一道题。到目前为止(2017/...

  • Codeforces 1367B - Even Array

    日常一道算法题。 翻译 偶数数组 给你一个数组 a[0 ...... n -1],长度为 n,注意数组索引从 0 ...

  • 33、搜索旋转排序数组 | 算法(leetode,附思维导图 +

    零 标题:算法(leetode,附思维导图 + 全部解法)300题之(33)搜索旋转排序数组 一 题目描述 二 解...

  • 一道算法题之两个有序数组合并

    最近面试的时候遇到了一道算法题,两个有序数组合并,要求新的数组也是有序的 此题比较简单,主要是看数组元素进行对比,...

  • 关于JS递归中的坑

    昨天在LeetCode上做算法题,做了第一道最简单的题 题目是这样的-- 给定一个整数数组和一个目标值,找出数组中...

  • 2020-2-16 刷题记录

    0X00 leetcode 刷题 7 道 搜索旋转排序数组(33) 搜索旋转排序数组 II(81) 寻找旋转排序数...

  • leecode刷题(3)-- 旋转数组

    leecode刷题(3)-- 旋转数组 旋转数组 给定一个数组,将数组中的元素向右移动 K 个位置,其中 K 是非...

  • c++中的vector

    说实话就在刚才(2019年8月1日11:01:29)我还用数组做了一道算法题,由于数组过大我在本地无法测试,(很容...

网友评论

      本文标题:每日一道算法题 - 旋转数组

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