11 2020 档案

摘要:class Solution: def findAnagrams(self, s: str, p: str) -> List[int]: p_d, s_d, leng, res,l={}, {}, len(p), [], 0 for i in p: p_d[i]=p_d.get(i,0)+1 for 阅读全文
posted @ 2020-11-27 16:48 WangSJiNa 阅读(72) 评论(0) 推荐(0)
摘要:给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列。 换句话说,第一个字符串的排列之一是第二个字符串的子串。 示例1: 输入: s1 = "ab" s2 = "eidbaooo" 输出: True 解释: s2 包含 s1 的排列之一 ("ba"). 示例2: 输入: s 阅读全文
posted @ 2020-11-27 16:23 WangSJiNa 阅读(83) 评论(0) 推荐(0)
摘要:滑动窗口问题,注意题干:返回 s 中涵盖 t 所有字符的最小子串 记录t中的字符和频数 使用滑动窗口遍历s,移动右窗口,同时记录窗口内的字符和频数 当右窗口的字符频数等于所需的计数,cur_len加1 当于满足t出现的字符个数,并且是目前的最小长度,更新结果(结果可以使用一个元组来记录) 同时要右移 阅读全文
posted @ 2020-11-26 19:48 WangSJiNa 阅读(76) 评论(0) 推荐(0)
摘要:class Solution: def searchRange(self, nums: List[int], target: int) -> List[int]: if not nums: return [-1,-1] left, right = 0, len(nums)-1 while left< 阅读全文
posted @ 2020-11-26 18:09 WangSJiNa 阅读(68) 评论(0) 推荐(0)
摘要:class Solution: def search(self, nums: List[int], target: int) -> int: left,right = 0, len(nums)-1 # 循环结束的条件是左右指针相遇 while left<=right: mid = (left+rig 阅读全文
posted @ 2020-11-26 17:49 WangSJiNa 阅读(49) 评论(0) 推荐(0)
摘要:git pull和git fetch都是从远程仓库获取最新版本代码,然后更新本地仓库代码。区别:git pull = git fetch + git merge or (git fetch + git rebase) 从commit id来看,二者实现的原理不一样。 git fetch git fe 阅读全文
posted @ 2020-11-26 17:34 WangSJiNa 阅读(335) 评论(0) 推荐(0)
摘要:分支远程更新后,如何合并到主分支 查看分支列表 git branch -a 切换到本地主分支 git checkout master 更新本地主分支 git pull 合并到本地主分支 git merge dev 更新远程主分支 git push 阅读全文
posted @ 2020-11-26 11:15 WangSJiNa 阅读(88) 评论(0) 推荐(0)
摘要:1、垃圾回收 2、缓存机制 1、垃圾回收 垃圾回收机制: 引用计数 标记清除 分带回收 描述垃圾回收之前先引入一个概念:refchain双向环状链表。这个链表的作用很强大,python内部会维护一个这样的链表,当python程序中一旦创建对象,都会把创建的对象添加到refchain中,这个链表保存了 阅读全文
posted @ 2020-11-25 17:16 WangSJiNa 阅读(108) 评论(0) 推荐(0)
摘要:记住4个递归结束的判断条件: 叶子节点的定义是左孩子和右孩子都为 null 时叫做叶子节点 当 root 节点左右孩子都为空时,返回 1 当 root 节点左右孩子有一个为空时,返回不为空的孩子节点的深度 当 root 节点左右孩子都不为空时,返回左右孩子较小深度的节点值 # Definition 阅读全文
posted @ 2020-11-25 11:39 WangSJiNa 阅读(33) 评论(0) 推荐(0)
摘要:回溯法框架: result = [] def backtrack(路径, 选择列表): if 满足结束条件: result.add(路径) return for 选择 in 选择列表: 做选择 backtrack(路径, 选择列表) 撤销选择 实现: class Solution: def perm 阅读全文
posted @ 2020-11-24 20:59 WangSJiNa 阅读(64) 评论(0) 推荐(0)
摘要:动态规划的方法 class Solution: def fib(self, N: int) -> int: dp = (N+1)*[0] if N<1: return 0 dp[1] = 1 for i in range(2,N+1): dp[i] = dp[i-1] + dp[i-2] retur 阅读全文
posted @ 2020-11-24 20:40 WangSJiNa 阅读(56) 评论(0) 推荐(0)
摘要:经典的动态规划问题,记住状态转移方程,dp[i] = min{dp[i],dp[i-coin]+1},dp[i-coin]+1是加上当前的一枚硬币。 class Solution: def coinChange(self, coins: List[int], amount: int) -> int: 阅读全文
posted @ 2020-11-24 20:17 WangSJiNa 阅读(57) 评论(0) 推荐(0)
摘要:最后将构造好的树的根节点返回即可,利用index函数找到中序遍历中根节点位置 # Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # self.left = No 阅读全文
posted @ 2020-11-24 19:27 WangSJiNa 阅读(62) 评论(0) 推荐(0)
摘要:# Definition for a binary tree node. # class TreeNode: # def __init__(self, val=0, left=None, right=None): # self.val = val # self.left = left # self. 阅读全文
posted @ 2020-11-24 18:30 WangSJiNa 阅读(54) 评论(0) 推荐(0)