
Leetcode
Sherlson
愿各位程序员都能记住,输出第一条hello world时候的心情。坚持下去,你的每一条代码都在默默的改变世界,加油!加油!加油!
展开
-
二叉树lc题集
# 二叉树力扣题目总结 按照如下顺序刷力扣上的题目,相信会帮你在学习二叉树的路上少走很多弯路。以下每道题目在力扣题解区都有「代码随想录」的题解。 二叉树理论基础 二叉树:递归遍历 二叉树:迭代法遍历(不统一方式) 二叉树:迭代吗遍历(统一方式) 102.二叉树的层序遍历 226.翻转二叉树 101.对称二叉树 104.二叉树的最大深度 111.二叉树的最小深度 222.完全二叉树的节点个数 110.平衡二叉树 257.二叉树的所有路径 递归中隐藏回溯 404.左叶子之和 513.找树左下角的值 112.路原创 2021-09-25 21:05:34 · 244 阅读 · 0 评论 -
Leetcode 392.判断子序列
题目描述: 解题思路一:双指针<<Leetcode官解>> 从初始位置开始利用双指针从前向后匹配,若匹配成功则右移慢指针,否则右移左指针。最终如果 i 移动到 s 的末尾,就说明 s 是 t 的子序列。 代码实现 class Solution: def isSubsequence(self, s: str, t: str) -> bool: n, m = len(s), len(t) i = j = 0 while i原创 2020-07-27 23:19:10 · 147 阅读 · 0 评论 -
Leetcode 279.完全平方数
题目描述: 解题思路: 利用四平方数和定理(评论区大神提供的思路) 四平方定理: 任何一个正整数都可以表示成不超过四个整数的平方之和。 推论:满足四数平方和定理的数n(四个整数的情况),必定满足 n=4^a(8b+7) def numSquares(self, n): """ :type n: int :rtype: int """ while n % 4 == 0: n /= 4原创 2020-07-22 10:10:38 · 145 阅读 · 0 评论 -
Leetcode 292.Nim游戏
Leetcode 292.Nim游戏 解题思路: 采用数学方法,利用巴什博弈求解 巴什博弈:只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。 显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜。因此我们发现了如何取胜的法则:如果n=(m+1)r+s,(r为任意自然数,s≤m),那么先取者要拿走s个物品,如果后取者拿走k(≤m)个,那么先取者再拿走m+1-k个,结果剩下(m+1)(r-1)个,以原创 2020-07-22 09:43:11 · 184 阅读 · 0 评论