Twitter OA,有一道新题。

做 OA 之前疯狂找题库,最后发现还是漏了不少…不过四道题都不难。

第一题是 K-diff Pairs in an Array,原题,直接看 discussion 就行。用一个 HashMap 存元素,然后再遍历一遍找值。

第二题是 Twitter | OA 2019 | Buying Show Tickets ,照着链接里面写就行,但是这道题有 overflow,所以输出值一开始得用 long 声明。

第三题找不到原题,题意是有出一个无限长的数组表示停车场,输入一个List和int k,List(i)是那个数组里第i个位置停了一辆车,你需要用个蓬遮住至少 k 辆车,求min distance to cover k cars。这道题用 sliding window 就行,但是这个 min distance 如果用 int 的话有 overflow,所以得用 long 来输出。

第四题是 Coursera | Online assessment | Min discount,表述稍有变化。

这道题很神奇,给的函数是 void,输出靠打印。要打印出 total cost,还要再起一行,打印没有 discount 的物品 index。注意打印没有 discount 的物品 index 的时候用 StringBuilder,先 append 值再 append 一个空格,最后 trim。一开始以为打印一个 List 就行,结果发现错了…

一样有 overflow,计算总价的时候得用 long。

给了24小时做,但是实际上一个小时之内就写完了。实际上本来应该半个小时结束,毕竟不少原题。坑出在除了第一道题以外,都需要把最后输出的值改为 long,否则会 overflow。一开始迷糊了半天为什么前几个 test case 都过了,但是后面三到四个 test case 卡在那里,一看,全是 overflow 没考虑…

能找到原题的,在 OA 里表述都稍有变动。

2 Likes

感谢楼主

停车场那题先找到K辆车,然后用滑动窗口也就是双指针就行了

是的