设为首页 加入收藏

TOP

Google笔试题整理(超全!)附部分答案(二)
2014-11-23 21:32:03 来源: 作者: 【 】 浏览:38
Tags:Google 试题 整理 超全 部分 答案
自身


& J2 D7 Z+ `$ a4 R” A4 c3. 使用了全局变量或者使用了一个或多个参数, O- l+ f3 i8 v* a$ m


, S0 d, ~’ B, \, {* L


3、以下函数的结果?2 ^* s; z/ O$ a$ z” R+ ]



8 w4 F( A* h+ a& e’ {! @) M7 s& ^int cal(int x) 1 r9 P4 L& 3 k( M8 P+ f$ q


{


& y1 n” m9 R4 _5 g, vif(x==0) . s$ z0 I P! T1 O’ W! @


return 0;* z: T8 }7 d+ R9 p


else


; |1 P; ^: y* o6 c( I1 Yreturn x+cal(x-1);


L6 k- X, g4 h+ K- ” _/ N}


9 m+ p7 C/ M9 , j) M8 G H( }$ I( a: R- d3 [; }# W


4、 以下程序的结果?


8 f7 N$ z/ g& c+ {- V2 X* ]8 evoid foo(int*a, int* b) “( \4 ^. o# p, o7 c2 y9 M6 c0 S


{


+ \( t4 e5 W. Q+ [2 \*a = *a+*b;


& g4 _, o0 W; [. h% p" m3 f*b = *a-*b;


$ _8 D' b. e# M) m& R d" G*a = *a-*b;3 s/ J: i9 L0 Y: y


} 6 {6 d/ }# D3 f" g2 v8 c) v



" L4 L: ]; ]) _# wvoid main()


( Y: ^* [+ d( D0 U9 R# {{ & t& ~* ]& i1 a! a5 K


int a=1, b=2, c=3;7 o- U- h1 o5 i, E


foo(&a,&b);


* `: r8 I2 [- f ~0 D, A0 ofoo(&b,&c);


0 k4 I& l1 h5 wfoo(&c,&a);


( k# s7 X- |' e) i6 P* b" O# `printf("%d, %d, %d", a,b,c);


9 `0 f9 \5 w, j M9 N}


' Y. [8 g; n* w; u2 p' o5、下面哪项不是链表优于数组的特点?


% S1 U) _1 g5 T, d$ R# W- K7 L/ p1. 方便删除 2. 方便插入 3. 长度可变 4. 存储空间小


4 K$ J$ l+ r# a2 W+ F8 \) Q6、T(n) = 25T(n/5)+n^2的时间复杂度?


9 y r& x: h8 d$ A, 8 I4 M7、n个顶点,m条边的全连通图,至少去掉几条边才能构成一棵树?


. q( |7 g/ i* G# ~4 K- o8、正则表达式(01|10|1001|0110)*与下列哪个表达式一样?4 V3 A3 w6 |- H. q


; G% q3 E" a5 D, j" {5 D/ K


9、如何减少换页错误?3 C- I: g/ r6 ^


1. 进程倾向于占用CPU 2. 访问局部性(locality of reference)满足进程要求 )


3 @4 M" 0 z9 X$ Y0 x0 m3. 进程倾向于占用I/O 4.使用基于最短剩余时间(shortest remaining time)的调度机制


' E- a! F. C& i5. 减少页大小


, Q- V7 V9 {2 C8 s: s6 T2 {/ J! B$ a5 }! @9 V. C9 y


10、实现两个N*N矩阵的乘法,矩阵由一维数组表示8 [7 M$ ^ {+ v/ a3 ^


6 }# Y7 q/ D, \$ I' C1 z


11、找到单向链表中间那个元素,如果有两个则取前面一个2 t1 v4 U, h0 b3 D. d



% u# c! M8 p: A12、长度为n的整数数组,找出其中任意(n-1)个乘积最大的那一组,只能用乘法,不可以用除法。要求对算法的时间复杂度和空间复杂度作出分析,不要求写程序。




google浙大招聘笔试题(转)


一、单选


0 g. i6 _, L: L% [8 @1、80x86中,十进制数-3用16位二进制数表示为?0 d- Y. h' L4 R* j; k0


2、假定符号-、*、$分别代表减法、乘法和指数运算,且 }( `2


1)三个运算符优先级顺序是:-最高,*其次,$最低;& }7 Y5 l- J5 e8 S1 ^: c# K4 S


2)运算符运算时为左结合。请计算3-2*4$1*2$3的值:


/ G$ B* I) G7 }(A)4096,(B)-61,(C)64,(D)-80,(E)512' O* x6 ~+ l8 ; a


6 N* w) L5 g/ U7 L) o* H3、下列伪代码中,参数是引用传递,结果是?) C, u+ p6 |4 o


calc(double p, double q, double r)


: N- X2 c) I' L3 _+ Y{q=q-1.0;r=r+p}


" d/ J, h0 ], u$ l” V N6 nmain(){


: ^) Q2 T$ K$ l- p4 Vdouble a = 2.5, b = 9.0;


8 @) @2 {” ~- o h, j$ ]# Vcalc(b-a, a, a);/


print(a);


+ A% G; Y% h2 x1 ^}8 r7 `/ B1 i4 L/ @4 {) J


(A)1.5 (B)2.5 (C)10.5 (D)8 (E)6.56 f, e! t# ^6 P, i$


4、求输出结果:


( b m2 H2 C$ u E5 Hint foo(int x, int y){ I2 ]- l l! j( B5 i1 R7 a


if(x <=0 || y <= 0) return 1;; ], \0 ], M- N” |, Q


return 3 * foo(x – 1, y / 2);


1 s! C; m8 e) r* k- S% a7 e- P}


/ {9 x1 A/ {* P” cprintf(“%d\n”, foo(3, 5));5 y5 J” n( _. ^1 n’ _, B4 A# ^, p


(A)81 (B)27 (C)9 (D)3 (E)1/ e” F# S0 V% r$ B


* Q8 Q0 n% M’ e7 S) z


5、下列哪个数据结构在优先队列中被最广泛使用?5 V5 c+ F. k) h0 l9 Z


(A)堆 (B)数组 (C)双向链表 (D)图 (E)向量


; `3 a$ H1 u; n# I1 i8 s, d$ a! B9 V, x’ T* t: m5 d


6、以下算法描述了一个在n国元素的双向链表中找到第k个元素的


5 F: % W) i6 x0 H* [* `方法(k >= 1且k <= n):/ d1 L; d0 k n# - F( t


如果k <= n - k,从链表开始往前进k-1个元素。


1 H' k$ c& C* b- ^; I9 i9 ^否则,从终点出发,往回走n - k个元素。


+ H1 j. `# M1 E8 r' U3 i这个算法的时间代价是?6 f, [) U" q+ D* `2 y" T


(A)θ(nlogn) (B)θ(max{k, n - k}) (C)θ(k + (n - k))


+ o+ v+ Z3 t) z(D)θ(max{k, k - n}) (E)θ(min{k, n - k})4 v+ ]3 L% p$ p0 z& t” Q% v0 T4 |4 X


. \2 r# z2 V/ j0 b


7、有一个由10个顶点组成的图,每个顶点有6个度,那么这个图有几条边? ‘ Z3 ~2 f& K0 ^1 i8 m


(A)60 (B)30 (C)20 (D)80 (E)90


5 o/ Z4 O3 f& y( O’ p& L. D: _2 O


8、正则表达式L = x*(x|yx+)。下列哪个字符串不符号L3 Z3 1 k7 y” N$ \’ a N8 F7 P( O


(A)x (B)xyxyx (C)xyx (D)yxx (E)yx8 u, p; W, a’ U9 f- ~



, J; f$ h9 ^1 [5 d/ f" M- C6 ^9、为读取一块数据而准备磁盘驱动器的总时间包括% y( x+ p0 \8 s& N. g& e


(A)等待时间 (B)寻道时间 (C)传输时间 (D)等待时间加寻道时间


: s9 K4 H0 o, w* M(E)等待时间加寻道时间加传输时间


1 J0 E9 \, f0 C5 ~4 s2 n, `8 S! l: t0 i4 m


二、算法 ; O* U6 B9 P


1、打印出一个二叉树的内容。


7 k0 z2 {( k5 f! {: A! h0 }2、在一个字符串中找到第一个只出现一次的字符。如abaccdeff,输出b。2 y X- y8 d9 P: v8 \7 x/ @


3、给定一个长度为N的整数数组(元素有正有负),求所有元素之和


" f% L/ G, m# s最大的一个子数组。分析算法时空复杂度。不必写代码。



附上算法题第3题的动态规划做法的参考答案:


最大子序列


问题:


给定一整数序列A1, A2,... An (可能有负数),求A1~An的一个子序列Ai~Aj,使得Ai到Aj的和最大


例如: 整数序列-2, 11, -4, 13, -

首页 上一页 1 2 3 4 下一页 尾页 2/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C#中的验证控件有几种 下一篇谁是盗窃犯

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: