Repeated String Match
- 点对点
- 若A足够长,那么B是subString只可能有两种情况
- B是A的substring
- B是A+A的substring,容易证明如果B不存在于A+A中那么不论在重复多少次,B都不可能存在
- 若AB进行判断
- 判断时间复杂度的时候,indexOf视为暴力所以O(N*(N+M))
- 若A足够长,那么B是subString只可能有两种情况
Sentence Screen Fitting
- 直观算法扫描每一行,当每一行特别长时候会TLE
- 考虑从sentence出发,把整个数组构成sentence的形式(加入space)。这样就可以用cols除以sentence来判断可以放下多少次,以避免具体的扫描每一个点。
- 具体实现中,每次递增cols,然后判断这时候落在了空格还是具体数字上。如果是空格,则代表正好放到这一行的行末。反之,则是不断往回找,直到找到最近的一个空格为止。