- 博客(8)
- 收藏
- 关注
原创 python 广度优先搜索模板 转
# %% # 模板1,不带hash表,每个节点可以访问多次,遍历树没有问题,遍历图就会陷入循环 def BFS1(root, target): # 记录遍历的层次 step = 0 # 这一层的节点列表,注意第一层要将根节点放进去 this_layer = [root] # 当这一层的节点列表不为空,就要一直遍历 while this_layer != []: # 下一层的节点列表 next_layer = [] ...
2022-03-22 11:43:23 790
原创 python 队列实现:转
class MyCircularQueue: def __init__(self, k): """ Initialize your data structure here. Set the size of the queue to be k. :type k: int """ self.size = k+1 self.data = [0]*self.size self.head = s.
2022-03-22 11:40:13 993
原创 二叉树的中序遍历 迭代(栈)
核心:不断的让左枝进栈 class Solution: def inorderTraversal(self, root: Optional[TreeNode]) -> List[int]: if root==None: return [] skact,res=[],[] while skact or root: while root: skact.append(ro.
2022-03-22 11:39:13 504
原创 二叉树的前序遍历(递归,迭代:栈)
递归解法 先把自身存数组,再存左边,后存右。 class Solution: def preorderTraversal(self, root: Optional[TreeNode]) -> List[int]: list1=[] def dfs(rot): if not rot: return list1.append(rot.val) dfs(ro
2022-03-22 00:18:28 503
原创 动态规划 括号生成
回溯算法(深度优先遍历) 生成树的方式:做减法,起始去左边括号: class Solution: def generateParenthesis(self, n: int) -> List[str]: res=[] one_ex='' def fun(one_ex,l,r): if l==0 and r==0: res.append(one_ex)
2022-03-21 20:58:16 73
原创 动态规划(最长回文子串)
给你一个字符串 s,找到 s 中最长的回文子串。 递推公式:dp[left][right]=s.charAt(left)==s.charAt(right)&&dp[left+1][right-1] 暴力枚举: 建立动态规划2维数组。从小到大判断字符串大小。 PS:需满足2个条件,一个是左右相同,第二是left+1,right-1是True。 class Solution: def longestPalindrome(self, s: str) -> str:
2022-03-21 16:50:24 678
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人