今天上午做了一下亚马逊的模拟笔试,深感惶恐。两道编程题,只需要完成函数实现,参数和返回值有要求,只需完成函数体部分,但是恐怖的是——限时 20 分钟。哇,看到这,我就冒了一身冷汗,然后战战兢兢地开始了做题之旅。
由于给的时间太短,而且是仅完成函数体,所以索性就在线写了,而且来不及把代码拷贝出来就被提交了。。。所以这次就不给出具体的代码了,只讲一下思路。
1. 词语接龙
题目描述(大意):传入英文字符串个数 num 和相应的字符串 **char,要求判断它是否能使得前一个字符串的最后一个字符和后一个字符的第一个字符相同,头尾字符不作要求,传入字符的范围仅 a - z 。
思路:
我也是时间很紧才完成了这道题,可惜时间超时了,下面说说我的思路:我先封装了一个 “单词” (姑且叫它单词)的结构体,用两个数组分别存储这些 “单词” 的首字母和尾字母,然后遍历数组,对比相应的下标存储的值不同的个数,如果大于 2 ,则直接返回 false ;否则记录差值,如果差值不为 1 ,则返回 false ;否则返回 true 。
因为并没有直接过,所以我也不确定是否一定正确,但是我觉得在思路上是没有问题的。不过还是超时,后面再看看有没有更好的算法,也希望有大佬指点一波。
2. 完全数
题目描述(大意):找出 n 以内的所有完全数?还是判断一个数是否是完全数?由于仅剩一分钟看这个题了,所以记得不是很清楚,不过解决方法都是一样的嘛,所以就不要在意这些细节了。。。(我也不信自己怎么办,不过请多多包涵吧)
完全数:又称完美数或完备数,是指那些除自身以外的约数的和恰好等于它本身的数。
思路:
后面剩下的时间太少了,所以也就只能看看题,想想思路了,笨办法一个个找再累加是铁定不行的,吃饭的时候还在想。但实在是没有找到什么规律,但我坚信只是自己没发现罢了。吃完后,回来搜了一下,惊了!!!
不多说,直接放上链接:完全数 。自己去感受感受自己的渺小吧。。。
下面直接说结论:
大数学家欧拉曾推算出完全数的获得公式:如果 p 是质数,且 2^p-1 也是质数,那么 (2^p-1) X 2^(p-1) 便是一个完全数。
看完之后是不是内心是崩溃的,请原谅我哇的一声哭了出来。。。
结语
以上便是这次笔试,我只想说亚马逊你真的是想怎样!!!希望明天死得不要太惨。。。如果有错误,希望及时指出,欢迎探讨交流,顺便膜欧拉。