Repeated String Match

  • 点对点
    • 若A足够长,那么B是subString只可能有两种情况
      1. B是A的substring
      2. B是A+A的substring,容易证明如果B不存在于A+A中那么不论在重复多少次,B都不可能存在
    • 若AB进行判断
    • 判断时间复杂度的时候,indexOf视为暴力所以O(N*(N+M))

Sentence Screen Fitting

  • 直观算法扫描每一行,当每一行特别长时候会TLE
  • 考虑从sentence出发,把整个数组构成sentence的形式(加入space)。这样就可以用cols除以sentence来判断可以放下多少次,以避免具体的扫描每一个点。
    • 具体实现中,每次递增cols,然后判断这时候落在了空格还是具体数字上。如果是空格,则代表正好放到这一行的行末。反之,则是不断往回找,直到找到最近的一个空格为止。

results matching ""

    No results matching ""