刚刚做了amazon oa,题没记住太多,但是规律大致还记得。
Programming:
1. right rotation.
Code:
public static int rightRotate(String word1, String word2) {
if (word1 == null || word2 == null || word1.length() == 0 || word2.length() == 0 || word1.length() != word2.length()) {
return -1;
}
String str = word1 + word1;
return str.indexOf(word2) != -1 ? 1 : -1;
}
18/18 passed
2. grey code. 没用地里大神的x & (x - 1)这个做法。
public static int greyCode(byte element1, byte element2) {
byte res = (byte) (element1 ^ element2);
for (int i = 0; i <= 7; i++) {
byte temp = (byte)(1 << i);
if (temp == res) {
return 1;
}
}
System.out.println("No");
return 0;
}
16/16 passed.
Logic:
没有想象中的难。
1. 字母规律严格按照字母与字母之间的间隔来找规律就可以了。类似于: AGD: EIH这样。有几道题是给你四组,找出不同的一组。有一道题类似于这样:
FH2
QS4
GL5
CK7
类似于这种感觉。后面的数字就是前面两个字母之间的距离,所以看出CK7是不对的。建议把字母表和相对应的数字写在一张纸上放在旁边,很有用处
2. 数字找规律。
也没有想象中的难,可能我运气比较好,而且感觉也没几道。
3 11 25 45 __
2 3 7 8 13 14 __
我没碰到难的。白天朋友做,碰到了一个 10 74 202 394 __ 我觉得这个更难一些。
3. 运算符重新定义。把我们平时熟悉的一些运算符重新定义一下,比如>表示小于等于的关系。不难,细心一点,在纸上写出关系就可以。
4. 距离 & 方位。 小A往西走30,左转走10, 再左转走40,再左转走20,问相对于原来的方位是多少。
5. 运费问题。把各个条件简要列出来,以后遇到的同学可能不用读题那么久。
a. 至少 上个月买了500刀的东西
b. 没有 和其他公司的 dealership
c. 没有 builk.
d. 有 少于5%的special deals
e. 至少 买了三年东西.
只列出了关键词。如果碰到这种题,可以事先把我列的简化条件列出来,省时间。
6. 晋升问题,可能地里有,这道题答的不是很好。
7. 圆桌问题。 八角桌, B和H正对着,F在C的右边两个位置,A 和E在G的两侧,C朝北。
总结:
1. 事先把三道编程题做的滚瓜烂熟,省下脑力做后边。
2. 列出字母和数字的对应关系,写在纸上。
3. 字母题主要看字母之间的距离,数字题看两两之间的差值的规律,或者奇数偶数拆成两个数组。
祝大家好运,祈祷能收到work style。
来源于 一亩三分地BBS