作者hanck ( )
看板Soft_Job
标题[请益] MTK 面试测验请教
时间Sat Jun 12 00:22:35 2010
今儿个去MTK面试写考卷看到两题题目想跟大家请教一下
1.
extern void func1(void);
extern void func2(void);
extern void func3(void);
extern void func4(void);
extern void func5(void);
void main(int n)
{
if n==1 execute func1;
if n==2 execute func2;
if n==3 execute func3;
if n==4 execute func4;
if n==5 execute func5;
}
保证 n 一定是上面五个数字之一
不能用if 和 switch case , 请用你认为最快的方法实作main
2.
extern void func1(void);
extern void func2(void);
extern void func3(void);
extern void func4(void);
extern void func5(void);
void main(int n)
{
if n==33 execute func1;
if n==67 execute func2;
if n==324 execute func3;
if n==231 execute func4;
if n==687 execute func5;
}
保证 n 一定是上面五个数字之一
使用if, 请用你认为最快的方法实作main
这两题难度都是标记困难,所以我想第二题应该不会只是单纯用if else
而第一题无法下手......不知道有没有高手指导一下
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.137.69.243
※ 编辑: hanck 来自: 220.137.69.243 (06/12 00:23)
1F:→ hugh3306:1我只想的到用function pointer阵列 XD 06/12 00:42
2F:→ Jeffxx:我lag了0.0 06/12 00:46
3F:→ kaikaii:1. ?: plus log(n)(binary search,5个数字保证三步内找到) 06/12 00:53
4F:→ ducah:只有五个数字 function pointer array 一步就找到了 06/12 00:59
5F:推 kaikaii:got it.. 感觉非常好用 XD 06/12 01:07
6F:→ kaikaii:不过有个问题 func pointer的初始算不算一步? 06/12 01:12
7F:推 ibmibmibm:用静态方式初始化就好了 06/12 01:13
8F:→ kaikaii:ok 这个答案不错 感谢~ 06/12 01:14
9F:→ realmeat: funtion pointer array 06/12 08:29
10F:推 alongalone:看来大家都是想到function pointer array...呵呵 06/12 10:48
11F:推 ilovebbs:直觉是建表..囧 不过用fptr快多了..XD 06/12 11:17
12F:→ rofellosx:第2题用题1的作法会如何? 06/12 14:27
13F:推 loveflames:规定要用if,应该想考不同的观念吧 06/12 14:29
14F:推 mryf:第一题可以这样写吗? (((n==1) && execute func1)) || (n==2) 06/13 01:23
15F:→ mryf:&& execute func2) || ((n==3) && execute func3) || ((n==4) 06/13 01:24
16F:→ mryf:&& execute func4) || ((n==5) && execute func5)); 06/13 01:24
17F:→ bleed1979:同样的招式对圣斗士是没用的,so,1.考语法,2.考算法。 06/13 01:25
18F:推 ckdarkknight:第二题用Hashtable应该有搞头 06/13 18:20
19F:推 wefun:这讨论串回应真长 因为是mtk ?? 06/14 11:36
20F:推 bobhsiao: 钱很多 06/14 13:20
21F:推 Leeng: 先猜猜看 第一题用指标mod 5 第二题用指标mod不知道多少 11/21 14:04
22F:→ Leeng: 一个最大公约数 要凑凑看 11/21 14:05