范文无忧网面试笔试笔试回答

斯伦贝谢软件笔经

11月28日 编辑 fanwen51.com

[软件专业学生笔试题]1. Describe the most efficient way (in term of execution time and code size) to divide a number by 4 in assembly language 2. what value is stored in m in the fo...+阅读

一道斯伦贝谢软件笔试题

软件, 笔试, 斯伦贝

每个公司的软件题目应该都是其在实际工作当中会遇到的问题,这道斯伦贝谢的算法题我猜测应该也是如此。题目是09届毕业生招聘时出的,如下:

现在一个广场上有一些木桩,可以知道这些木桩的坐标。给你一根很长的绳子,绕成一圈,将所有木桩都绕在里面。之后收紧绳子,直到其紧绷。此时有木桩与绳子接触,另外一些木桩则是在绳子绕成的圈的内部。 我们将与绳子接触的木桩称作顶点,请编写程序,求出这些木桩中的顶点。

这道题目其实不难,诸位读者可以思考一下,再看我给的解决方案。另外提醒一下,木桩的坐标是人定的,我们可以将木桩的坐标统一定在第一象限。

以下是这个问题的解答,我只给出算法大体流程,但不给出具体代码。

我们的输入是一个数组,这个数组中包含所有木桩的坐标,即一个POINT。

第一步,找出这些点中,位于最下方,即Y坐标值最小的点,我们称之为木桩A

我们以A点作为基准点进行下一步分析。找出逆时针方向的下一个顶点。这个顶点的寻找方向,必然是先找右上方,如果右上方没有点,则找左上方。

在右上方,下一个顶点必然是与A相连,斜率最小的点。如果右上方没有点,那么我们需要从左上方查找斜率也是最小的一个点。这一点读者可以在纸上画图查证。

按照这种方法,我们很容易找到逆时针的下一个点,我们称之为B点,现在从B点查找B点的逆时针下一个顶点。对于B点来说,我们也需要先查找右上方,如果右上方没有木桩,则查找左上方,左上方没有,则需要查找左下方,如果左下方没有,那就需要查找右下方。按照此次序依次查找。

对于右上方有木桩的情形,我们需要找到与B点相连斜率最小的木桩。

右上方无木桩,左上方有木桩的情形,我们需要查找左上方中,与B相连斜率最小的木桩。

对于左下方的情形,我们需要查找与B相连斜率最小的木桩。

对于右下方的情形,我们需要查找与B相连斜率最小的木桩。

虽然都是查找斜率最小,但我们需要依次比较四种情况,而不能混在一起查找。

按照这种方法,我们可以找到C点。

重复由B找到C的步骤,我们可以找到C的逆时针下一个顶点,依次查找,则可以找出所有顶点。这里还需要注意一点,我们需要保存上一次的斜率,本次查找时的斜率必须比上一次查找时的斜率大,或者本次查找的下一个顶点的位置,位于四个方位中的下一个方位。

这个方法很简单,但效率很低,每次查找,都需要计算出当前顶点与其他所有点的斜率,并进行分类排序比较。但目前我只想到这一种方法,如果谁有更好的方法,欢迎给我留言

延伸阅读:

软件笔试经验1、 考试用具早早准备。 考试前当晚准备好两支2b的铅笔,检查准考证、身份证等是否全部备齐,避免第二天早上慌慌张张。 2b铅笔,注意要把笔尖削成扁的,这样填涂的时候,只要画一道就...

群硕软件实习生笔试经验今天在中南大学铁道校区世纪楼D101参加了群硕的宣讲和笔试,是小生第一次参加正式的职场笔试,难免有些心潮澎湃,废话少说,直接进入正题: 笔试的题目分为两大部分,根据不同的方向,主...

应届毕业生求软件设计英文简历样本这份简历是一个大学毕业生的英文简历,他寻求的职位是软件工程师,希望能在软件设计方面能发掘自己的潜能。由于刚毕业,没有多少经验,因此着重介绍了自己的能力和所学的课程。这份...

德尔福软件笔试题1.How do you code an infinite loop in C? 2. Volatile: a) What does the keyword volatile mean? Give an example b) Can a parameter be both const and volatile? Give a...

软件测试英文面试题目求职者在参加英语面试时需要好好准备一下,下面我们来看看有关英文面试会问到的一些题目。1.要有一份高质量的自我介绍2.同时面试的人员,对你以前的测试工作经历会比较感兴趣,会...

软件测试类英文面试题想不想知道在英语面试前有哪些准备工作需要做的呢?我个人认为,英文面试前要清楚英文面试注意事项,专业英语常用语,英文面试常见的误区,英语面试的考察要点等内容。下面是小编在本...

软件工程专业毕业生的自我介绍以下就分享一篇软件工程专业的毕业生的求职自我介绍。 大学的四年,给我奠定了扎实的专业理论基础,良好的组织能力,团队协作精神,务实的工作作风还有良好的为人处世能力。 理论...

汇丰软件笔试内容下面来跟大家探讨一下有关汇丰软件笔试的相关内容。 汇丰软件笔试分为三部分,总共的笔试时间为3小时,这三个部分是分开了做的。 第一部分是numerical题,时间是15分钟,35道题。既...

浪潮软件研发笔试今天下午2点小编我到浪潮去参加了笔试,笔试前填写了一份浪潮的职位申请表,很多与我简历中的内容都重复,所以填写的有些不耐烦,后面几项还有点意思。 是否可以外驻:可以 是否服从...

推荐阅读
图文推荐
栏目列表