需要根据输入数反转整数数组 例如:
Array be [1,2,3,4,5,6,7,8,9] and value of subset be N = 4
then the array after reversal will be [4, 3, 2, 1, 8, 7, 6, 5, 9].
if N = 3 then output should be [3,2,1,6,5,4,9,8,7]
无法用递归方法或任何循环概念来考虑正确的逻辑
答案 0 :(得分:1)
尝试以下java代码
public static int[] reverse(int[] a, int number) {
// negative case
if (number < 0) {
return a;
}
// higher count than array length
int size = number < a.length ? number : a.length;
int[] b = new int[size];
System.arraycopy(a, 0, b, 0, size);
for (int i = b.length - 1; i >= 0; i--) {
a[b.length - 1 - i] = b[i];
}
return a;
}
Array包含每个元素的索引,因此上面的循环代码简单而有效。