http://www.mianwww.com/?cat=102 百度面试题 百度笔试题 专栏
百度最新面试题集锦 http://blog.csdn.net/hackbuteer1/article/details/7348968
百度2012年春季实习生校园招聘笔试题和答案 http://blog.csdn.net/lianxiang_biancheng/article/details/7557446
http://blog.csdn.net/hackbuteer1/article/details/7581306 2012百度实习生招聘面试题
1.数组元素平移交换
int a[n],如果将a[0..i-1],a[i..n]平移交换,即得到新数组a[i..n..0..i-1].
方法一:用i个临时变量保存a[0..i-1],然后将a[i...n]左移i,最后将a[0..i-1]放入原数组最后i个位置.
方法二:利用原理 (a'b')'=ba; '表示逆序操作.
方法二代码:
#include <iostream>
using namespace std;
void main(){
int a[10] = {1,2,3,4,5,6,7,8,9,10};
int m = 10, n = 3;
int i, j;
for(i = 0, j = n-1; i < j; i++, j--){
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
for(i = n, j = m-1; i < j; i++, j--){
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
for(i = 0, j = m - 1; i < j; i++, j-- ){
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
for(i = 0; i < m; i++){
cout<<a[i]<<endl;
}
}
2.指向数组指针、函数指针
3.构造函数调用次数
4.有一对兔子,从出生后每三个月都生一对兔子,小兔子长到第三个月后每3个月又生一对兔子,假如兔子都不死,请打印输出1年内的每个月的兔子数量。
考的知识点是递归
#include <iostream>
using namespace std;
int f(int month){
if(month == 0 )
return 1;
if(month < 0)
return 0;
return f(month - 3) + f(month -6); //f(month)
}
void main(){
int month = 6; int num;
for( month = 1; month <= 12; month++){
num = f(month - month%3) + f(month - 3 - month%3 );
cout<<num<<endl;
}
}