虽然是手速场,但是LZ这里还是出了个插曲:
第三题LZ TLE了好几次。我们假设位置空间是M,然后offer的空间是N,根据题意,这两个应该都是10_000。然后LZ用了个list(java,就是数列)去存储所有的offer,也就是一个M的array,存N个offer,然后就是用offer的end作为index(当前位置没offer就是空的咯)。这个复杂度应该是M + N,也就是O(10_000),因为M和N是一个量级的。但是超时!LZ一开始还以为是系统忙超时,因为诡异的是它下面没有之前的“hidden test case”,LZ retry了好几次(因为对复杂度有信心)。LZ想了一下感觉还是优化成map吧,也就是Map<End -> list of offers with this end>,然后就过了。
其实复杂度本来就是O(M + N),因为你后面要iterate 位置空间O(N)的。LZ因为这个多了几个TLE,在手速场里可以说是致命的。