随笔-8  评论-96  文章-0  trackbacks-4
2008-3-8-今日又去面试了,碰到一题,回来仔细写了下,不知道是不是这样效率最好:
ggg.jpg

2008-3-7-最近又开始面试了,由于长期做NET应用,导致基础算法不清,错失很多良机,故回家补习,列出几例,以便面试临时必备:
aaa.jpg
如Combind(new int[]{1,3,5}, new int[]{2,4},c)则得到,1,2,3,4,5

ccc.jpg
如a,b,c,则Permute(0)则得到abc, acb, bac,.......所有组合

ddd.jpg

eee.jpg

fff.jpg

猫叫,主人醒来,老鼠逃
bbb.jpg
Tag标签: c#,面试,算法
posted on 2008-03-07 14:42 guozili 阅读(2874) 评论(20)  编辑 收藏

评论:
#1楼  2008-03-07 14:50 | ongbin      
呵呵,面试的时候,有这样考的吗?
  回复  引用  查看    
#2楼  2008-03-07 15:07 | zeus2      
最后一个很有意思。委托的典型啊。
  回复  引用  查看    
#3楼  2008-03-07 15:57 | 马哥      
这样考的单位都不行。
  回复  引用  查看    
#4楼  2008-03-07 16:00 | Leon916      
有意思,博主写的不错
  回复  引用  查看    
#5楼  2008-03-07 16:12 | future001 [未注册用户]
@马哥
我也碰到过一公司这么招人的,面试的经理先说自己是微软公司的人!后来又说自己微软到那家公司的!说实话我做网站开发好几年了,也没用过这些东西
  回复  引用    
#6楼  2008-03-07 16:13 | yjyshu [未注册用户]
要有自己的idea,这样要你的老板圆就圆,扁就扁.(恶笑...)
  回复  引用    
#7楼  2008-03-07 16:21 | ganghao [未注册用户]
将你知道的算法能够在实际业务中使用进去,当然首先得前提是你得熟悉这些算法,所以练习练习这些基础算法也无不可。
  回复  引用    
#8楼  2008-03-07 17:01 | 斧头帮少帮主      
确实很少用到.
  回复  引用  查看    
#9楼  2008-03-07 17:13 | EricWen      
用的少,才觉得工作没劲。
才发现我们根本就是动脑少,苦力多。
  回复  引用  查看    
#10楼  2008-03-07 17:28 | Boler Guo      
#11楼  2008-03-07 18:31 | 金色海洋(jyk)      
做网站也是很有趣的,只是做到最后了,几行语句就可以搞定一个页面(给访问网站的人看得那种页面),点几下鼠标就可以搞定后台管理的一个简单页面。

没有什么意思了,就改作OA这一类的程序了,这里的逻辑还能复杂一点,呵呵。

(最近比较郁闷,瞎吹几句,不过网站的部分基本没有吹。)
  回复  引用  查看    
#12楼  2008-03-07 22:26 | Jeffrey Zhao      
这种背是没有意义的,编程能力是要练习出来的——而且这些都没有太多算法……
  回复  引用  查看    
#13楼  2008-03-07 23:38 | 小瑞克      
很有趣,收了,我最常用的是递归算法
  回复  引用  查看    
#14楼  2008-03-08 10:56 | doublefeng      
呵呵..很多公司就是爱考算法..
实际上都非常少用到..
  回复  引用  查看    
#15楼  2008-03-08 16:54 | RZ [未注册用户]
用接口实现观察者模式会更加易于理解
  回复  引用    
#16楼  2008-03-08 21:00 | hoodlum1980      
第一题可以把a先复制到b,然后对b快速排序。平均时间还是O(n log n),不过对于n较小(小于12)的情况,递归还不如直接插入排序或者冒泡划算了。
  回复  引用  查看    
#17楼 [楼主] 2008-03-09 00:59 | guozili      
@hoodlum1980
关键是a数组长度大于b数组,b装不下
  回复  引用  查看    
#18楼  2008-03-10 13:41 | 江家七郎      
有意思
  回复  引用  查看    
#19楼  2008-03-11 14:39 | 公木子      
--引用--------------------------------------------------
马哥: 这样考的单位都不行。
--------------------------------------------------------

华为就是考这个。

有序数组合并。

不过冒泡排序的话应该有一个标志位,看是否发生了交换,如果没有交换应该退出。

有序数组合并。可以把队首,队尾比较一,看看是不是直接可以对接。
  回复  引用  查看    
#20楼  2008-04-23 10:41 | wxl [未注册用户]
private static void InsertAndSort(int[] a, ref int[] b)
{
int al = a.Length;
int bl = b.Length;

b[0] = a[0];

for (int i = 1; i < al; i++)
{
int j;
if (i < bl)
{
b[i] = a[i];
j = i;
}
else
{
j = bl - 1;
if (b[j] < a[i])
continue;
}
while (j > 0 && b[j - 1] > a[i])
{
b[j] = b[j - 1];
j--;
}
b[j] = a[i];
}
}
参照了参照,改了改,就贴上了吧
  回复  引用    

标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-03-08 17:27 编辑过


相关链接: