求助,这个问题的更好的算法(空间时间复杂度尽量低).
就是给一个数组.找到这个数组中的某个特定的值,然后把这个值转移到第一个.
本来没什么问题.但是人要求尽量节省空间和时间..
偶对这个没研究,只好求助大虾门了.
这个市偶写的..
class Fun{
public void change(int[]arr,int a){//find the index
for (int i = 0; i<arr.length;i++){
if (arr[i]==a){
changeFun(arr,i);
}
}
}
public void changeFun(int[]arr,int a){//change it
int temp = arr[a];
for (int j = a; j > 0; j--){
arr[j] = arr[j-1];
}
arr[0] = temp;
}
public static void main(String[] args){
int [] a = {1,2,3,5,6,3,7,8,3,4};//3331256784
Fun f = new Fun();
f.change(a,3);
for (int i = 0; i<a.length; i++){
System.out.print(a[i]);
System.out.print("**");
}
}
}