当前位置:   article > 正文

【Java编程】【算法面试题】【数组轮转】给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。

【Java编程】【算法面试题】【数组轮转】给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。

原题:

给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。

例如:nums =[1,0,-1,2,3] k=1

预期结果:nums = [3,1,0,-1,2]

k=2

预期结果:nums = [2,3,1,0,-1]

以此类推。。。

【本文思路解析】:


1.不实用额外的数组,会多一部分开销;

2.每次轮转,位置移动1位,共计移动k次;

3.时间复杂度O(K*N)n=数组的长度;(貌似也不好)

【JAVA代码】:

public class RotateArray {
    //[1,0,-1,2,3]
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int k = scanner.nextInt();
        scanner.nextLine();
        String[] strings = scanner.nextLine().split(",");
        int len = strings.length;
        int[] strToArray = new int[len];
        for (int i = 0; i < len; i++) {
            if(strings[i].contains("[")){
               strings[i] &
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/567402
推荐阅读
相关标签
  

闽ICP备14008679号