转发: TextIQ 面经

NY的规模很小的startup,做的东西挺有意思的,做完OA后,不久来了一封拒信,然后过了一个月又被捞起来面试了一轮电面,之后过了半个月约二面,因为有其他offer就没有继续面

感觉都是没见过的题,如果有人知道LC上有请提醒一下

  1. 给你一个长度为m的string s,一个由n个index组成的list query, 对每一个query中的index,找离index对应的字母最近的相同字母的index,如果左右一样近返回左边的,如果没有返回-1,把所有结果作为list返回。

example: s = “leetcode”, query = {2,3,7};
index 2是e,最近的e在左边index为1
index 3是t,s里没有其他t,返回-1
index 7是e,最近的e在左边index为2
输出 {1, -1, 2}

这道题对时间要求很高,我是暴力解的,从每个index左右检查最近的相同字母,找到就break,没有就-1,复杂度应该是O(mn),但是还是有4/15的testcase超时。感觉可以用dp?不知道各位有没有想法。

  1. 买股票,有一群bidder,每个人有四个值,id,想买的share,出价price,入场顺序
    公司有n个share出售。优先卖给出价高的人,如果出价一样就每个人根据入场顺序一份一份给,要输出一份都没有买到的人的id。
    example:bidders = {{1,5,5,1}, {2,7,7,3},{3,7,5,2}, {4,10,3,0}}, share = 18
    先卖给出价7的2号,拿走7份走人,剩下11份share
    两个出价5的人,一份一份分,两个人轮流分5份之后,1号满足走人
    还剩1份,3号还想要2份,拿走最后一份,剩下0份
    输出{4}

这个就是模拟实际情况写下代码,先根据出价sort一下,然后每次拉同样最高出价的人出来分,就过了。。