时间复杂度 面试题
1、转载---收集的
一个未排序整数数组,有正负数,重新排列使负数排在正数前面,并且要求不改变原来的
相对顺序
比如:
input:
1,7,-5,9,-12,15
ans: -5,-12,1,7,9,15
要求时间复杂度O(N),空间O(1)
#时间复杂度O(N^2),空间复杂度O(1)
#include<stdio.h>
#define n 6
main()
{
int a[]={1,7,-5,9,-12,15};
int i,j,temp;
for(i=1;i<n;i++)
{
if(a[i]<0)
{
temp=a[i];
j=i-1;
while((j>=0)&&a[j]>0)
{
a[j+1]=a[j];
j--;
}
a[j+1]=temp;
}
}
for(i=0;i<n;i++)
printf("%5d",a[i]);
}
2、
有N个大小不等的自然数(1--N),请将它们由小到大排序。要求程序算法:时间复杂度为O(n),空间复杂度为O(1)。
http://yangyou230.iteye.com/blog/1307910
3、算法面试题
http://www.cnblogs.com/zhenjing/archive/2010/10/18/1854020.html
浙公网安备 33010602011771号