题解 | #旋转数组#

import java.util.*;


public class Solution {
    /**
     * 旋转数组
     * @param n int整型 数组长度
     * @param m int整型 右移距离
     * @param a int整型一维数组 给定数组
     * @return int整型一维数组
     */
    public int[] solve (int n, int m, int[] a) {
        // write code here
        m = m%n; // 因为存在m大于n的情况  所以需要对m取余
        if(m == 0) return a;
        int[] nums = new int[m]; // 存储转换的数组数据
        int c = 0;
        for(int i=n-m;i<=n-1;i++) {
            nums[c++] = a[i];
        }
        int[] k = new int[n];
        c = 0;
        for(int i=0;i<m;i++) {
            k[c++] = nums[i];
        }
        for(int i=0;i<=n-m-1;i++) k[c++] = a[i];
        return k;
    }
}
全部评论

相关推荐

09-17 19:25
已编辑
太原理工大学 游戏测试
叁六玖:公司名发我,我要这个HR带我打瓦
我的秋招日记
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务