面试失败之24点算法

标签: 面试 算法 | 发表时间:2011-09-28 17:41 | 作者:大肚小男人 UnderSn0w
出处:http://www.cnblogs.com/

  周一风尘仆仆(上午6点抵达成都)的去参加了凡客成都研发中心的面试,虽然经历一夜的折腾让我感觉头脑很不清醒,不过这种面试状态也不错,能让我深刻体验一下在不清醒状态下进行的思考和回答问题。午饭过后便出了门,习惯了不堵车,突然觉得成都的交通真的很拥堵。到达凡客成都研发中心填完表后等了大概10多分钟,面试官把我带进会议室,开始了面试。面试过程为由3位技术大牛面试官轮番面试,他们问了很多有意义的技术和管理类的相关面试问题,我含含糊糊的回答了,最终还是disqualified。不过我很感谢面试官们能告诉我,在我身上存在不足。我觉得每一次的面试都能让我成长一次,希望自己一次一次生长后能使我变的更强大。
话说回来,其中一位面试官问了一个简单的算法问题,如:“1~9的随机取出4个数组成24,如果可以组成则返回true,反之返回false”。这个题面试中遇到了无数次,网上也有很多思路,哎!一直没有去看过和想过。比划了半天也没有什么结果。回来后趁着上班间隙,自己思考了一下,为了给自己加深印象,写了一段代码(见附录,学习和交流)进行练习。
  我的思路是:

  逐个递归的方式(到处都是递归,我只是写法变了一下),如图。先把数组中的数逐个取出来,然后其余的组成新数组。取出来数于24进行加减乘除运算,以后统称为calc()(如果不能整除则返回),再把新数组中的所有数进行calc()将得到的结果进行对比,如果成功则停止运算返回true,不成功则,再从逐个取出新数组的数,其余的又组成另一个新数组,反复递归后得到结果。
  由于我才疏学浅加上最近又学习了《The ThoughtWorks Anthology: Essay on Software Technology and Innovation》,自己摸索着写出来的东西请勿见笑,希望各位大牛在闲暇之余能帮我改进,我在此万分谢谢。附件:算法代码

作者: 大肚小男人 发表于 2011-09-28 17:41 原文链接

评论: 4 查看评论 发表评论


最新新闻:
· Google炮轰微软:专利授权就是在敲诈(2011-09-29 08:13)
· 下一代Android运行视频曝光(2011-09-29 08:11)
· 诺基亚澄清缩减传闻 支持塞班到2016年(2011-09-29 08:10)
· Amazon 的梦幻夜 — 内容与终端(2011-09-29 08:08)
· Windows运行时的设计细节(2011-09-29 08:07)

编辑推荐:Web前端开发中的MCRV模式

网站导航:博客园首页  我的园子  新闻  闪存  小组  博问  知识库

相关 [面试 算法] 推荐:

面试失败之24点算法

- UnderSn0w - 博客园-首页原创精华区
  周一风尘仆仆(上午6点抵达成都)的去参加了凡客成都研发中心的面试,虽然经历一夜的折腾让我感觉头脑很不清醒,不过这种面试状态也不错,能让我深刻体验一下在不清醒状态下进行的思考和回答问题. 午饭过后便出了门,习惯了不堵车,突然觉得成都的交通真的很拥堵. 到达凡客成都研发中心填完表后等了大概10多分钟,面试官把我带进会议室,开始了面试.

我看面试时出(纯)算法题

- - 老赵点滴 - 追求编程之美
今天早上一边出门一边在平板上读了 左耳朵耗子的新文章《 为什么我反对纯算法面试题》,略有想法. 正逢外面暴雨如注,我就又回屋打开笔记本发了一些回复,特此整理一下. 为了避免有人扭曲我的看法,我先声明我并不是反对这篇文章,相反我是基本同意其中的观点,只不过会加以一些补充,把其中一些我认为有些过头的地方按一按.

大数据量的算法面试题

- - 编程 - 编程语言 - ITeye博客
作者:July、youwang、yanxionglu. 时间:二零一一年三月二十六日. 说明:本文分为俩部分,第一部分为10道海量数据处理的面试题,第二部分为10个海量数据处理的方法总结. 出处:http://blog.csdn.net/v_JULY_v. 第一部分、十道海量数据处理面试题. 1、海量日志数据,提取出某日访问百度次数最多的那个IP.

秒杀名企面试--150道算法面试题攻略

- - 弯曲评论

面试算法之排序算法集锦

- - CSDN博客推荐文章
排序算法在面试过程中是经常会考的,这是很基础的,面试官觉得你应该很熟悉这些东西,如果你半个小时内写不出来,那基本就给跪了,因为这真的是狠基础狠基础的东西,所以我们得对一些基本的排序算法烂熟于胸,对这些排序思想,效率了如指掌,才能让面试官觉得你还行. 基本的排序算法有:直接插入排序,冒泡排序,简单选择排序,shell排序,归并排序,快速排序,堆排序.

面试10大算法汇总+常见题目解答

- - Java - 编程语言 - ITeye博客
面试10大算法汇总+常见题目解答. 最近更新: 2013年12月15日 持续更新…. 英文版的 “面试10大算法汇总”日最高访问量已高达4,318次. 这说明总结程序员面试算法有实际意义,比读算法书更有效. 下面是中文版的10大算法汇总+有代表性的题目汇总. 这些概念是专门为面试准备的,因为日常编程中我们很少会自己去写一个链表或者做一个图,也不会经常使用没有效率的递归.

[原]程序员如何快速准备面试中的算法

- - 结构之法 算法之道
    程序员如何快速准备面试中的算法.     我决定写篇短文,即为此文. 之所以要写这篇文章,缘于微博上常有朋友询问,要毕业找工作了,如何备战算法. 尽管在 微博上简单梳理过,如下图所示:.     但因字数限制,特撰此文着重阐述下:程序员如何快速准备面试中的算法,顺便推荐一些相关的书籍或资料.

面试常见十大类算法汇总

- - ITeye博客
在Java中,String是一个包含char数组和其它字段、方法的类. 如果没有IDE自动完成代码,下面这个方法大家应该记住: . String/arrays很容易理解,但与它们有关的问题常常需要高级的算法去解决,例如动态编程、递归等. 下面列出一些需要高级算法才能解决的经典问题:. 在Java中实现链表是非常简单的,每个节点都有一个值,然后把它链接到下一个节点.

为什么最难不过二叉树的算法出现在面试题中都会被应聘者抱怨?

- - 知乎每日精选
我大二学数据结构,大作业的一部分是自己实现一个平衡二叉树,没有任何问题. 要是那个时候别人来问我各种细节,毫无压力. 然后我现在研二,自那次大作业以后再也没有实现过平衡二叉树. 需要使用各种索引的时候都是无论是自己实现还是直接调用库,都不是平衡二叉树. 然后现在要是来问我关于平衡二叉树的各种细节,当然我还记得左旋右旋左右旋右左旋,但你要我把所有的指针赋值都准确回答出来,我一定办不到.

变态面试

- Tony - 叫兽与你同在