08 2022 档案
摘要: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
阅读全文
摘要:#平方根的值一定在1,x之间,是一个有序数组 #那么就满足二分查找的条件 class Solution: def mySqrt(self, x: int) -> int: if x==0 or x==1: return x #0和1的算术平方根为1 low,high,res = 1,x,-1 #初始
阅读全文
摘要:-< bin() 返回一个整数 int 或者长整数 long int 的二进制表示 ->: class Solution: def addBinary(self, a: str, b: str) -> str: return bin(int(a,2)+int(b,2))[2:]#先将a,b转为2进制
阅读全文