一、题目内容

image.png

二、题解

解法1:

思路

代码

  1. public class Solution {
  2. public int[] solve (int n, int m, int[] a) {
  3. m = m % n; // 如果循环右移的位数m大于数组长度n,就相当于右移的位数为(m % n)
  4. reverse(a, 0, n - m - 1);
  5. reverse(a, n - m, n - 1);
  6. reverse(a, 0, n - 1);
  7. return a;
  8. }
  9. public void reverse(int[] arr, int begin, int end) {
  10. for (int i = 0; i < (end - begin + 1) / 2; i++) {
  11. int temp = arr[begin + i];
  12. arr[begin + i] = arr[end - i];
  13. arr[end - i] = temp;
  14. }
  15. }
  16. }