旋转数组

题目:

 

 

解:(i + k) % length

class Solution {
   public void rotate(int nums[], int k) {
       int length = nums.length;
       int temp[] = new int[length];
       //把原数组值放到一个临时数组中,
       for (int i = 0; i < length; i++) {
           temp[i] = nums[i];
      }
       //然后在把临时数组的值重新放到原数组,并且往右移动k位
       for (int i = 0; i < length; i++) {
           nums[(i + k) % length] = temp[i];
      }
  }}

Arrays.copyOfRange(T[] original, int from, int to) 方法复制指定的数组到一个新的数组。 参数说明: 其中T[] original是要复制的数组,from是复制开始位置的元素的序号(包括这个元素),to复制结束位置的序号(不包括这个元素)。 使用时可能参数错误导致的异常:

ArrayIndexOutOfBoundsException – 如果 from < 0 或 from > original.length()

IllegalArgumentException – 如果 from > to.

NullPointerException – 如果 original 为 null

posted @ 2022-04-22 09:00  仙人掌掌掌掌  阅读(32)  评论(0)    收藏  举报