摘要:
82. 删除排序链表中的重复元素 II 链表和树的问题,一般都可以右递归和迭代俩种写法 本题链表定义 # Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, next=None): # se 阅读全文
摘要:
78. 子集 class Solution: def subsets(self, nums: List[int]) -> List[List[int]]: res = [] path = [] n = len(nums) def backtracking(nums, startIndex): res 阅读全文
摘要:
79. 单词搜索 class Solution: def exist(self, board: List[List[str]], word: str) -> bool: row,col = len(board),;en(board[0])#求其行列 def dfs(x,y,idx): if idx= 阅读全文
摘要:
80. 删除有序数组中的重复项 II 这边先做一道类似的题目 26.删除有序数组的重复项 相当于允许存在0个重复 目的计算不重复的个数,将不重复覆盖前方返回left+1 class Solution: def removeDuplicates(self,nums:List[int])->int: l 阅读全文
摘要:
75. 颜色分类 #初步想法,不要求用sort,那么分别记录012的个数在构造数组 class Solution: def sortColors(self, nums: List[int]) -> None: """ Do not return anything, modify nums in-pl 阅读全文
摘要:
77. 组合 -< 总结回溯的模板 1. def backtracking(参数): if (终止条件): 存放结果 return for i in range(选择:本层集合中元素(树中节点孩子的数量就是集合的大小)): backtracking() 回溯,撤销处理的结果 代码: class So 阅读全文
摘要:
74. 搜索二维矩阵 #暴力搜索 class Solution: def searchMatrix(self, matrix: List[List[int]], target: int) -> bool: row = len(matrix) col = len(matrix[0]) for i in 阅读全文
摘要:
71. 简化路径 #核心思想:栈 #依据题意 ..不需要出栈,其余入栈 class Solution: def simplifyPath(self, path: str) -> str: stack = [] for p in path.split('/'): #以'/'分割 if stack an 阅读全文
摘要:
73. 矩阵置零 class Solution: def setZeroes(self, matrix: List[List[int]]) -> None: """ Do not return anything, modify matrix in-place instead. """ if not 阅读全文
摘要:
70. 爬楼梯 #递归 class Solution: @lru_cache(None) def climbStairs(self, n: int) -> int: if n==1 or n==0: return 1 res=self.climbStairs(n-1)+self.climbStair 阅读全文