面试失败之24点算法
2011-09-30 02:29
190 查看
周一风尘仆仆(上午6点抵达成都)的去参加了凡客成都研发中心的面试,虽然经历一夜的折腾让我感觉头脑很不清醒,不过这种面试状态也不错,能让我深刻体验一下在不清醒状态下进行的思考和回答问题。午饭过后便出了门,习惯了不堵车,突然觉得成都的交通真的很拥堵。到达凡客成都研发中心填完表后等了大概10多分钟,面试官把我带进会议室,开始了面试。面试过程为由3位技术大牛面试官轮番面试,他们问了很多有意义的技术和管理类的相关面试问题,我含含糊糊的回答了,最终还是disqualified。不过我很感谢面试官们能告诉我,在我身上存在不足。我觉得每一次的面试都能让我成长一次,希望自己一次一次生长后能使我变的更强大。
话说回来,其中一位面试官问了一个简单的算法问题,如:“1~9的随机取出4个数组成24,如果可以组成则返回true,反之返回false”。这个题面试中遇到了无数次,网上也有很多思路,哎!一直没有去看过和想过。比划了半天也没有什么结果。回来后趁着上班间隙,自己思考了一下,为了给自己加深印象,写了一段代码(见附录,学习和交流)进行练习。
我的思路是:
逐个递归的方式(到处都是递归,我只是写法变了一下),如图。先把数组中的数逐个取出来,然后其余的组成新数组。取出来数于24进行加减乘除运算,以后统称为calc()(如果不能整除则返回),再把新数组中的所有数进行calc()将得到的结果进行对比,如果成功则停止运算返回true,不成功则,再从逐个取出新数组的数,其余的又组成另一个新数组,反复递归后得到结果。
由于我才疏学浅加上最近又学习了《The ThoughtWorks Anthology: Essay on Software Technology and Innovation》,自己摸索着写出来的东西请勿见笑,希望各位大牛在闲暇之余能帮我改进,我在此万分谢谢。附件:算法代码
话说回来,其中一位面试官问了一个简单的算法问题,如:“1~9的随机取出4个数组成24,如果可以组成则返回true,反之返回false”。这个题面试中遇到了无数次,网上也有很多思路,哎!一直没有去看过和想过。比划了半天也没有什么结果。回来后趁着上班间隙,自己思考了一下,为了给自己加深印象,写了一段代码(见附录,学习和交流)进行练习。
我的思路是:
逐个递归的方式(到处都是递归,我只是写法变了一下),如图。先把数组中的数逐个取出来,然后其余的组成新数组。取出来数于24进行加减乘除运算,以后统称为calc()(如果不能整除则返回),再把新数组中的所有数进行calc()将得到的结果进行对比,如果成功则停止运算返回true,不成功则,再从逐个取出新数组的数,其余的又组成另一个新数组,反复递归后得到结果。
由于我才疏学浅加上最近又学习了《The ThoughtWorks Anthology: Essay on Software Technology and Innovation》,自己摸索着写出来的东西请勿见笑,希望各位大牛在闲暇之余能帮我改进,我在此万分谢谢。附件:算法代码
相关文章推荐
- 面试失败之24点算法
- 面试失败之24点算法
- 算法题目-记hulu失败的实习面试
- 水池问题的lua语言算法(面试题分析:我的Twitter技术面试失败了)
- 水池问题的lua语言算法(面试题分析:我的Twitter技术面试失败了)
- 四道微软面试算法题
- 微软面试算法题
- 面试算法之字符串匹配算法,Rabin-Karp算法详解
- IT面试算法题(2)
- 24点经典算法
- [面试编程题]算法基础-字符移位
- 程序员编程艺术第一~四十章集锦与总结--面试、算法、编程
- 珍藏版、微软等数据结构+算法面试100题全部出炉
- 面试技巧 - 怎样让candidate更多的谈论他们失败的项目。
- 程序员如何快速准备面试中的算法
- 微软面试失败,决定明天把自己卖了
- 笔试-面试算法题总结
- ThoughtWorks面试失败
- 面试小算法_2
- 2017年腾讯移动客户端面试总结-失败经验