摘要:
题目链接 解题思路:和139题类似,只不过要把所有的结果存起来而已 代码 class Solution: def check(self, s: str, i: int, s2: str) -> int: if i + len(s2) > len(s): return -1 for ch in s2: 阅读全文
posted @ 2024-12-27 15:13
ouyangxx
阅读(8)
评论(0)
推荐(0)
摘要:
题目链接 解题思路:暴力递归+缓存,也就是自顶向下的动态规划。process(s, index, wordDict),s[index..]后面的能被wordDict拼出来吗?使用一个for循环,尝试wordDict中的所有单词。然后加一个缓存表,就可以了 代码 class Solution: # s 阅读全文
posted @ 2024-12-27 14:58
ouyangxx
阅读(19)
评论(0)
推荐(0)
摘要:
题目链接 解题思路:先拷贝新节点,新节点放在老节点后面。然后再遍历一遍,设置新节点的random指针。新节点的random,指向的是「老节点的random的下一个节点」。最后将新老节点分开即可。 代码 class Solution: def copyRandomList(self, head: 'O 阅读全文
posted @ 2024-12-27 14:36
ouyangxx
阅读(9)
评论(0)
推荐(0)
摘要:
题目链接 解题思路:只出现一次,其余的数全部两次,异或操作,其余两次的数异或之后,全部变成了0. 代码 class Solution: def singleNumber(self, nums: List[int]) -> int: return reduce(lambda x, y : x ^ y, 阅读全文
posted @ 2024-12-27 11:27
ouyangxx
阅读(12)
评论(0)
推荐(0)
摘要:
题目链接 解题思路:回溯,尝试每一种可能,process(s, i),划分s[i...],当前的回文子串有哪些情况?单独一个i,或者i, i+1,或者i, i+1, i+2,因此,用一个for循环解决。然后再检查[i, j]是否是回文子串,如果是,则继续递归,划分下一个回文子串process(s, 阅读全文
posted @ 2024-12-27 10:30
ouyangxx
阅读(9)
评论(0)
推荐(0)

浙公网安备 33010602011771号