标签:ever eve [] bsp cpu高 turn 反转 length 数组
首尾交换
思路一:开辟一个等长的数组,原始数组反转存入
public static int[] reverse(int arr[])
{
{
int temp = new int[arr.length];
int foot = 0;
for(int x=arr.length - 1; x>=0; x--)
{
temp[foot++]= arr[x];
}
return temp;
}
}
最大问题在于此类方法开辟了两块堆内存空间 空间浪费 内存占用量高 查sql语句 cpu高 查算法
思路二:在一个数组上完成数组反转
原始数组 1 2 3 4 5 6 7 8 9
第一次 1和9交换
第二次 2和8交换
第三次 3和7交换
第四次 4和6交换 5不做任何改变 共转了数组长度/2次
public static void reverse (int arr[])
{
int center = arr.length/2;
int head = 0 ; 头部
int tail = arr.length - 1 ; 尾部
for(int x = 0;x<center ;x++)
{
int temp = arr[head];
arr[head] = arr[tail]
arr[tail] = temp ;
head ++;
tail--;
}
}
标签:ever eve [] bsp cpu高 turn 反转 length 数组
原文地址:http://www.cnblogs.com/123talents/p/7460188.html