摘要:
写得有点复杂了,好在AC了。对我而言,hard难度的题目,能做出来算是不错了,效率上就不能做太高要求了。 本题的主要思想:先求两个字符串的最长公共子序列(LCS),然后再把不是最长公共子序列中的字符按任意顺序拼接在一起。 这里拼接策略是先补充str1中的字符,再补充str2中的字符。 阅读全文
摘要:
参考了CSDN上一位博主提供的C++的代码: 我尝试转换成python,但是却超时了: 超时的测试用例:1000000000,答案:1950627,python在我本机执行时间:11.3s。 目前没想到解决办法。 阅读全文
摘要:
1 class Solution: 2 def largestValsFromLabels(self, values: 'List[int]', labels: 'List[int]', num_wanted: int, use_limit: int) -> int: 3 dic = {} 4 for i in range(len(labels))... 阅读全文
摘要:
这道题使用dfs会超时,看评论区也有人遇到同样的问题,比赛时调试了1个多小时尝试改进,没有意识到应该换用非递归的bfs可以解决,消耗了大量的时间。 超时的方案如下,使用python实现:(经过尝试,能通过的测试用例中,使用5个方向就可以了) 下面是AC的解决方案,使用bfs思想,代码如下: 阅读全文
摘要:
1 class Solution: 2 def duplicateZeros(self, arr: List[int]) -> None: 3 """ 4 Do not return anything, modify arr in-place instead. 5 """ 6 n = len(arr 阅读全文