题目描述
题目描述
题解
题解
提交记录
提交记录
中等

给你一个字符串数组 words,对于范围 [0, words.length - 1] 内的每个下标 i,执行以下步骤:

  • words 数组中移除下标 i 处的元素。
  • 计算修改后的数组中所有 相邻对 之间的 最长公共前缀 的长度。

返回一个数组 answer,其中 answer[i] 是移除下标 i 后,相邻对之间最长公共前缀的长度。如果 不存在 相邻对,或者 不存在 公共前缀,则 answer[i] 应为 0。

字符串的前缀是从字符串的开头开始延伸到任意位置的子字符串。

 

示例 1:

输入: words = ["jump","run","run","jump","run"]

输出: [3,0,0,3,3]

解释:

  • 移除下标 0:
    • words 变为 ["run", "run", "jump", "run"]
    • 最长的相邻对是 ["run", "run"],其公共前缀为 "run"(长度为 3)
  • 移除下标 1:
    • words 变为 ["jump", "run", "jump", "run"]
    • 没有相邻对有公共前缀(长度为 0)
  • 移除下标 2:
    • words 变为 ["jump", "run", "jump", "run"]
    • 没有相邻对有公共前缀(长度为 0)
  • 移除下标 3:
    • words 变为 ["jump", "run", "run", "run"]
    • 最长的相邻对是 ["run", "run"],其公共前缀为 "run"(长度为 3)
  • 移除下标 4:
    • words 变为 ["jump", "run", "run", "jump"]
    • 最长的相邻对是 ["run", "run"],其公共前缀为 "run"(长度为 3)

示例 2:

输入: words = ["dog","racer","car"]

输出: [0,0,0]

解释:

  • 移除任意下标都会导致答案为 0。

 

提示:

  • 1 <= words.length <= 105
  • 1 <= words[i].length <= 104
  • words[i] 仅由小写英文字母组成。
  • words[i] 的长度总和不超过 105
 
代码
代码
测试用例
测试用例
测试结果
测试结果