移动后k个数

给定一个整数数组,如何将最后k个数移动到数组的前面。
输入、输出描述
输入:
arr: 整数数字
n: 数组长度
k: 取值为[1,n]
输出:
移动后的数组
Example
输入:
arr=[1,2,3,4,5,6]
n=6
k=2
输出:
[5,6,1,2,3,4]
代码:
import java.util.*;

public class Main {

 

 public int[] solution(int[] arr,int n,int k) {


 List<Integer> list = new LinkedList<Integer>();

        if (k<n){
           for (int i=0; i<n; i++){
               list.add(arr[i]);
           }
       }
        List<Integer> subList = list.subList(n - k, n);
        List<Integer> subList1 = list.subList(0, n-k);
        
         subList.addAll(subList1);
        Object[] array = subList.toArray();
        Integer[] integers = Arrays.copyOfRange(array, 0, n, Integer[].class);
      		int[] ints = new int[integers.length];
        for (int i = 0; i < integers.length; i++) {
            ints [i] = integers[i];
        }
				


        return ints;
    }
}
一个创业中的苦逼程序员
评论专区

隐藏