高盛OA 最全24題coding題庫

海投隔一天收到OA, 前几天刚做完, 受之于版上很多 , 我也来回馈一下。共有coding及math两个部分,邮件里说答题时间2小时,其实有2.5小时。
Coding部分,我遇到的两题都是高频旧题,一题The coder friends,一题School Allotment。关于coding我猜地里已经穷尽GS题库
LOL 我整理了所有OA面经,大致有以下24题
(1) Reverse algebraic expression 反转数学式。要注意特殊例子如-122.4±9.6–23.89必须反转成-23.89–9.6+2.4-12。
(2) Best team 这题我一直没看懂面经。。。 不过大家都反应这题不难
(3) Average Score 给了几个学生参加的几个考试的分数,求每个学生的平均成绩,我用一个dictionary存了每个学生分数和,再用另一个dictionary存参加考试的数目,相除即可
(4) Stair Climbing 往上跳阶梯,一次可跳1,2或3步,求有几种跳法。类似Fibonacciseries的DP题
(5) First unique character。Leetcode题,求string中第一个不重复的字符
(6) Dot product 求向量点积。用python的话就sum+map即可搞定
(7) Number of pairs 这题是two sum变化题,求一个array中有几对和为k的组合。要注意time complexity,用hashtable基本就没问题
(8) String compression 这题也是Leetcode题,但GS不要求in place完成,所以略简单些
(9) Reverse sentence 用python基本一行搞定,这题似乎是各行常见题
(10) Is anagram 除了字母还有特殊符号,用python基本也是sorted简单搞定
(11) Whole minute dilemma 常见题!! 也是two sum变化题,我的思路是把所有歌以除60的余做分类并存于dictionary里,最后算组合数就可以。要注意余数为30及0的特殊edge cases,不难处理。
(12) The coder friends 比较Bob和Erica的答题总分,E为1分,M为3分,H为5分。若同分依序比较H,M,E,若全相同则输出Tie
(13) Charable giving 给一个捐款array,有三家慈善机构,每次捐款给目前受款总额最小的机构,若受款金额相同则依排序A,B,C捐。
(14) Latest student 论坛里已有足够详细的说明
(15) Caplock 遇到a之后所有字母变大写,一旦使用shift(可能是大写字母或特殊字符(?))则切换为正常模式。
(16) Largest difference 给一个array,求a[j] - a的最大值,其中j > i且a为奇数,a[j]为偶数。这题要注意time complexity,O(n^2)不会过。我用一个for loop遍历array,遇到偶数比较a[j]-a,遇到奇数则比较a。
(17) School allotment 给一个array包含每个学校可以收的学生人数,另一个array包含每位学生的考试成绩,及另一个array包含每个学生的选校preference。分数高的学生先被选,分发时按照preference依序分发,若所有志愿都被选满则此学生不被分发。最后要输出所有学校的空额总数及没被分发的学生总数。
(18) Second smallest 找出array中第二小的数
(19) World cup 地里已有足够详细的说明
(20) Minimum vertical slice 经典DP题。
(21) Worst performing stock 找出涨幅最小的股票
(22) Remove comments, Leetcode变化题,如果/之后没有/则不算是comment,我的思路是用一个额外的变量存放/之后的东西,若遇到/则清空变量,若到最后依然没有遇到*/则输出变量内容
(23) CSV formatter 这题用python split(’,’)挺好写的
(24) Unique string 给定一个string,找出所有长度为k的substring。譬如’ababacc’, k=3,则输出[‘aba’, ‘acc’, ‘bab’, ‘bac’]
数学部分满简单的,我遇到的两题linear algebra跟大家分享

  1. 若A, B为nxn矩阵,且rank(A) = rank(B),请问以下何者正确? (A,B)为一nx2n矩阵,由A,B并列形成。
    (a) rank(A+B) = 2rank(A)
    (b) rank(A-B) = 0
    (c ) rank(A, B) = 2rank(A)
    (d) rank(A, B) <= rank(A) + rank(B)
  2. 以下叙述有几项为真?
    (a) 若AB = I,则BA = I
    (b) 若AB有eigenvalue h, 则h亦为BA的eigenvalue
    (c ) 若所有的square matrix B皆满足AB = BA,则A=aI,(a is a constant)