5 python performance python-3.x
我已经在 LeetCode 中编写了最长公共前缀的代码,但它返回“超出时间限制”。
没有具体的错误消息,所以我不知道如何修复我的代码以通过测试用例。
class Solution:
def longestCommonPrefix(self, strs: List[str]) -> str:
#find the number of shortest characters
shortest_num = 0
nums = [0] * len(strs)
for i in range(len(strs)):
nums[i] = len(strs[i])
shortest_num = min(nums)
l1 = strs[0]
l2 = strs[1]
l3 = strs[2]
for j in range(shortest_num):
tmp = ""
while l1[j] == l2[j] and l2[j] == l3[j]:
tmp += l1[j]
candidate.append(tmp)
print(max(candidate))
Run Code Online (Sandbox Code Playgroud)
错误信息
Time Limit Exceeded
Run Code Online (Sandbox Code Playgroud)
小智 9
当您没有以 Good Time 复杂度编写代码时,就会出现此错误。当 Leetcode 系统以更大的输入运行你的代码时,你的代码没有在最佳时间运行。可能有一些已知的算法可以解决您的问题陈述。在互联网上搜索问题陈述,您会发现一些算法来解决这个问题。
始终使用列表推导式会更快。例如,要获取字符串长度列表,请使用以下命令
lens = [len(x) for x in strs]
min_len = min(lens)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19210 次 |
| 最近记录: |