寄摆人
码龄4年
关注
提问 私信
  • 博客:10,953
    社区:1
    10,954
    总访问量
  • 58
    原创
  • 1,668,403
    排名
  • 6
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:江苏省
  • 加入CSDN时间: 2020-09-29
博客简介:

m0_51210480的博客

查看详细资料
个人成就
  • 获得10次点赞
  • 内容获得10次评论
  • 获得28次收藏
创作历程
  • 30篇
    2021年
  • 28篇
    2020年
成就勋章
TA的专栏
  • leetcode
    52篇
  • Python学习相关
    6篇
兴趣领域 设置
  • 大数据
    flink
  • 人工智能
    opencv语音识别计算机视觉机器学习深度学习神经网络自然语言处理tensorflowpytorch图像处理nlp数据分析
创作活动更多

新星杯·14天创作挑战营·第9期

这是一个以写作博客为目的的创作活动,旨在鼓励大学生博主们挖掘自己的创作潜能,展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴,那么,快来参加吧!我们一起发掘写作的魅力,书写出属于我们的故事。我们诚挚邀请你们参加为期14天的创作挑战赛! 注: 1、参赛者可以进入活动群进行交流、分享创作心得,互相鼓励与支持(开卷),答疑及活动群请见 https://bbs.csdn.net/topics/619626357 2、文章质量分查询:https://www.csdn.net/qc

475人参与 去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Leetcode每日一题2021.3.12第121题:买卖股票的最佳时机

题目描述示例
原创
发布博客 2021.03.13 ·
208 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Leetcode每日一题2021.3.11第119题:杨辉三角Ⅱ

题目描述示例思路及算法方法一:先算出杨辉三角的前k+1行,再返回第k行class Solution: def getRow(self, rowIndex: int) -> List[int]: if rowIndex == 0: return [1] res = [[1]] while len(res) < (rowIndex + 1): new_row = [a + b for
原创
发布博客 2021.03.12 ·
189 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Leetcode每日一题2021.3.11第118题:杨辉三角

题目描述示例思路及算法方法一:数学依据杨辉三角形的性质之一:每个数字等于上一行的左右两个数字之和,如果用ret列表来代表已计算好的部分杨辉三角形,用row列表表示第n行数字,那么此性质可表示为: row[i] = ret[n-1][i-1] + ret[n-1][i]。class Solution: def generate(self, numRows: int) -> List[List[int]]: ret = list() # ret代表已计算出的部分杨辉
原创
发布博客 2021.03.11 ·
199 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Leetcode每日一题2021.3.11第112题:路径总和

题目描述示例思路及算法本题题解的核心思想是对树进行一次遍历,在遍历时记录从根节点到当前节点的路径和,以防止重复计算。方法一:广度优先搜索首先我们可以想到使用广度优先搜索到额方式,记录从根节点到当前节点的路径和,以防止重复计算。这样我们使用两个队列,分别存储将要遍历的节点,以及根节点到这些节点的路径和即可。# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=N
原创
发布博客 2021.03.11 ·
145 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Leetcode每日一题2021.3.11第111题:二叉树的最小深度

题目描述示例思路及算法方法一:深度优先搜索首先可以想到使用深度优先搜索的方法,遍历整棵树,记录最小深度。对于每一个非叶子节点,我们只需要分别计算其左右子树的最小叶子节点深度。这样就将一个大问题转化为了小问题,可以递归地解决该问题。# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):# self.val = v
原创
发布博客 2021.03.11 ·
142 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Leetcode每日一题2021.3.11第110题:平衡二叉树

题目描述示例思路及算法根据题目的定义,一棵二叉树是平衡二叉树,当且仅当所有子树也都是平衡二叉树,因此可以使用递归的方式判断二叉树是不是平衡二叉树,递归的顺序可以是自顶向下或者自底向上。方法一:自顶向下的递归定义函数 height,用于计算二叉树中的任意一个节点 p 的高度:有了计算节点高度的函数,即可判断二叉树是否平衡。具体做法类似于二叉树的前序遍历,即对于当前遍历到的节点,首先计算左右子树的高度,如果左右子树的高度差不超过1,再分别递归地遍历左右子节点,并判断左子树和右子树是否平衡。这
原创
发布博客 2021.03.11 ·
221 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Leetcode每日一题2021.2.28第108题:将有序数组转换为二叉搜索树

题目描述示例思路二叉搜索树的中序遍历是升序序列,题目给定的数组是按照升序排序的有序数组,因此可以确保数组是二叉搜索树的中序遍历序列。但是,给定二叉搜索树的中序遍历,也不能唯一地确定二叉搜索树。如果没有要求二叉搜索树地高度平衡,则任何一个数字都可以作为二叉搜索树的根节点,因此可能的二叉搜索树有多个。如果增加一个限制条件,即要求二叉搜索树的高度平衡,也仍然无法唯一地确定二叉搜索树。直观地看,我们可以选择中间数字作为二叉搜索树的根节点,这样分给左右子树的数字个数相同或只相差1,可以使得树保持
原创
发布博客 2021.03.11 ·
155 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Leetcode每日一题2021.2.28第104题:二叉树的最大深度

题目描述示例方法一:深度优先搜索思路和算法如果我们知道了左子树和右子树的最大深度 l 和 r ,那么该二叉树的最大深度即为 max(l, r) +1而左子树和右子树的最大深度又可以以同样的方式进行计算。因此我们可以用【深度优先搜索】的方法来计算二叉树的最大深度。具体而言,在计算当前二叉树的最大深度时,可以先递归计算出其左子树和右子树的最大深度,然后在O(1)时间内计算出当前当前二叉树的最大深度。递归在访问到空节点时退出。代码# Definition for a binary tree no
原创
发布博客 2021.02.28 ·
155 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Leetcode每日一题2021.2.28第101题:对称二叉树

题目描述示例方法一:递归思路和算法如果一个树的左子树与右子树镜像对称,那么这个树是对称的。如果同时满足下面的条件,两个树互为镜像:它们的两个根节点具有相同的值每个树的右子树都与另一个树的左子树镜像对称我们可以实现这样一个递归函数,通过【同步移动】两个指针的方法来遍历这棵树,p指针和q指针一开始都指向这棵树的根,随后p右移时,q左移;p左移时,q右移。每次检查当前p和q节点的值是否相等,如果相等再判断左右子树是否对称。代码# Definition for a binary tre
原创
发布博客 2021.02.28 ·
184 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

Leetcode每日一题2021.2.28第100题:相同的树

题目描述示例深度优先搜索如果两个二叉树都为空,那这两个二叉树相同。如果两个二叉树中有且只有一个而空,则两个二叉树一定不相同。如果两个二叉树都不为空,那么首先判断它们的根节点是否相同。这是一个递归的过程,因此可以使用深度优先搜索,递归地判断两个二叉树是否相同。代码# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):#
原创
发布博客 2021.02.28 ·
192 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

Leetcode每日一题2021.2.28第88题:合并两个有序数组

题目描述示例方法一:双指针/从前往后将nums1的前m个元素复制一份,放在一个新列表nums1_copy中,再清空nums1。设置指针p1和p2,p1指向nums1_copy的开头,p2指向nums2的开头,在每一步将最小值放出输出数组nums1中。class Solution: def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None: """ Do no
原创
发布博客 2021.02.28 ·
146 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

Leetcode每日一题2021.2.28第896题:单调数列

题目描述示例思路和算法遍历数组,如果既碰到了升序,又碰到了降序,则返回False。class Solution: def isMonotonic(self, A: List[int]) -> bool: inc = dec = True n = len(A) for i in range(n-1): if A[i] > A[i+1]: inc = False
原创
发布博客 2021.02.28 ·
100 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Leetcode每日一题2021.2.26第70题:爬楼梯

题目描述示例方法一:动态规划思路和算法我们用 f(x) 表示爬到第 x 级台阶的方案数,考虑到最后一步可能跨了一级台阶,也可能跨了两级台阶,所以我们可以列出如下式子:f(x) = f(x-1) + f(x-2)它意味着爬到第 x 级台阶的方案数是爬到第 x-1 级台阶的方案数和爬到第 x-2 级台阶的方案数的和。边界条件:我们从第0级开始爬,所以从第0级爬到第0级我们可以看作只有一种方案,即 f(0) = 1;从第0级到第1级也只有一种方案,即爬一级,f(1) = 1。由于 f(x)只和
原创
发布博客 2021.02.28 ·
156 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Leetcode每日一题2021.2.26第67题:二进制求和

题目描述示例思路和算法基于Python自带的高精度运算,我们可以考虑一个最朴素的方法:先将 a 和 b 转化成十进制,求和后再转化为二进制输出。代码class Solution: def addBinary(self, a: str, b: str) -> str: return '{:b}'.format(int(a, 2) + int(b, 2))...
原创
发布博客 2021.02.26 ·
98 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Leetcode每日一题2021.2.26第66题:加一

题目描述示例思路和算法digits 前面加0,从后向前循环,逢9就变0;直到不等于9时,加1,结束循环。最后检查 digits 前面加的 0 是否多余,多余的话就去掉。代码class Solution: def plusOne(self, digits: List[int]) -> List[int]: digits = [0] + digits for i in range(len(digits) - 1, -1, -1):
原创
发布博客 2021.02.26 ·
119 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Leetcode每日一题2021.2.26第58题:最后一个单词的长度

题目描述示例代码:class Solution: def lengthOfLastWord(self, s: str) -> int: s = s.strip() if not s: return 0 list = s.split() return len(list[-1])
原创
发布博客 2021.02.26 ·
97 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Leetcode每日一题2021.2.26第53题:最大子序和

题目描述示例方法一:动态规划思路和算法:我们用 f(i) 代表以第 i 个数结尾的 【连续子数组的最大和】,那么我们要求的就是:因此我们只需要求出每个位置的 f(i) ,然后返回 f 数组中的最大值即可。如何求 f(i)呢?我们可以考虑 nums[i] 单独成为一段还是加入 f(i-1) 对应的那一段,于是我们可以得到如下的动态规划转移方程:考虑到 f(i) 只和 f(i-1) 相关,于是我们可以只用一个变量 pre 来维护当前 f(i) 的 f(i-1)的值是多少,从而让空间复杂度从O
原创
发布博客 2021.02.26 ·
137 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Leetcode每日一题2021.2.26第38题:外观数列

题目描述示例算法:双指针首先定义变量 pre 记录前一项,初始化为空字符串;定义变量 cur 记录当前项,初始化为 ‘1’(第一项为1)。定义双指针 start,end 均指向序列项的头部,这里用于统计元素出现的次数。由于给定的 n>=1,这里由第2项开始逐项对前一项进行描述(注意:要将 cur 赋值给 pre,并初始化 cur 为空字符串,重新拼接得到当前项):- 从左往右遍历 pre,当元素相同时,移动 end 指针,直至元素不相同时,那么此时 end - start 就是相同
原创
发布博客 2021.02.26 ·
89 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Leetcode每日一题2021.2.26第35题:搜索插入位置

题目描述示例代码class Solution: def searchInsert(self, nums: List[int], target: int) -> int: return len([i for i in nums if i < target])
原创
发布博客 2021.02.26 ·
144 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Leetcode每日一题2021.2.25第28题:实现 strStr()

题目描述示例方法一:字串逐一比较 - 线性时间复杂度 O((N-L)L)思路:设 needle 的长度为 L, 对 haystack 沿着字符串逐步移动长度为 L 的滑动窗口,将窗口内的子串与 needle 比较。代码:class Solution: def strStr(self, haystack: str, needle: str) -> int: L, n = len(needle), len(haystack) if L == 0:
原创
发布博客 2021.02.26 ·
291 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏
加载更多