2007年google笔试题-宁波大学

6 views
Skip to first unread message

Bob

unread,
Oct 18, 2006, 3:06:18 AM10/18/06
to 程序员乐园
From:BBS 风起云甬站
http://fqyy.nbu.edu.cn/bbscon.php?board=C_CPP&id=2677

发信人: jackyang (凤凰涅磐◇浴火重生), 信区: C_CPP
标 题: 昨天的google笔试题
发信站: BBS 风起云甬站 (Thu Oct 12 09:21:04 2006), 站内

一、单选
1、80x86中,十进制数-3用16位二进制数表示为?

2、假定符号-、*、$分别代表减法、乘法和指数运算,且
1)三个运算符优先级顺序是:-最高,*其次,$最低;
2)运算符运算时为左结合。请计算3-2*4$1*2$3的值:
(A)4096,(B)-61,(C)64,(D)-80,(E)512

3、下列伪代码中,参数是引用传递,结果是?
calc(double p, double q, double r)
{q=q-1.0;r=r+p}
main(){
double a = 2.5, b = 9.0;
calc(b-a, a, a);
print(a);
}
(A)1.5 (B)2.5 (C)10.5 (D)8 (E)6.5

4、求输出结果:
int foo(int x, int y){
if(x <=0 || y <= 0) return 1;
return 3 * foo(x - 1, y / 2);
}
printf("%d\n", foo(3, 5));
(A)81 (B)27 (C)9 (D)3 (E)1

5、下列哪个数据结构在优先队列中被最广泛使用?
(A)堆 (B)数组 (C)双向链表 (D)图 (E)向量

6、以下算法描述了一个在n国元素的双向链表中找到第k个元素的
方法(k >= 1且k <= n):
如果k <= n - k,从链表开始往前进k-1个元素。
否则,从终点出发,往回走n - k个元素。
这个算法的时间代价是?
(A)θ(nlogn) (B)θ(max{k, n - k}) (C)θ(k + (n - k))
(D)θ(max{k, k - n}) (E)θ(min{k, n - k})

7、有一个由10个顶点组成的图,每个顶点有6个度,那么这个图有几条边?
(A)60 (B)30 (C)20 (D)80 (E)90

8、正则表达式L = x*(x|yx+)。下列哪个字符串不符号L
(A)x (B)xyxyx (C)xyx (D)yxx (E)yx

9、为读取一块数据而准备磁盘驱动器的总时间包括
(A)等待时间 (B)寻道时间 (C)传输时间
(D)等待时间加寻道时间
二、算法
1、打印出一个二叉树的内容。

struct Tree
{
Node* root;
};

struct Node
{
int value;
Node* leftNode;
Node* rightNode;
}
int print(Tree* tree);
2、在一个字符串中找到第一个只出现一次的字符。如abaccdeff,输出b。
3、给定一个长度为N的整数数组(元素有正有负),求所有元素之和
最大的一个子数组。分析算法时空复杂度。不必写代码。

呜呼,有O(n) 时间复杂度, O(1) 空间复杂度的算法,
那怎样才能达到线性复杂度呢?这里运用动态规划的思想。先看一下源代码实现:

int max_sub2(int a[], int size)
{
int i,max=0,temp_sum=0;
for(i=0;i<size;i++)
{
temp_sum+=a[i];
if(temp_sum>max)
max=temp_sum;
else if(temp_sum<0)
temp_sum=0;
}
return max;
}
在这一遍扫描数组当中,从左到右记录当前子序列的和temp_sum,若这个和不断增加
,那么最大子序列的和max也不断增加(不断更新max)。如果往前扫描中遇到负数,那
么当前子序列的和将会减小。此时temp_sum
将会小于max,当然max也就不更新。如
果temp_sum降到0时,说明前面已经扫描的那一段就可以抛弃了,这时将temp_sum置
为0。然后,temp_sum将从后面开始将这个子段进行分析,若有比当前max大的子段,
继续更新max。这样一趟扫描结果也就出来了。

--


※ 修改:·jackyang 于 Oct 12 09:21:28 修改本文·[FROM:
210.33.16.*]
※ 来源:·BBS 风起云甬站 fqyy.org·[FROM: 210.33.16.*]

Reply all
Reply to author
Forward
0 new messages