会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
菜鸟奋斗史
孤立的技术是没有价值的
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
8
9
···
26
下一页
2019年11月13日
Leetcode题目121.买卖股票的最佳时机(简单)
摘要: 题目描述: 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。 注意你不能在买入股票前卖出股票。 代码实现: 一、反向思维 复杂度分析 时间复杂度:O(N) 空间复杂度:O(1) 二、暴力枚
阅读全文
posted @ 2019-11-13 10:46 菜鸟奋斗史
阅读(292)
评论(0)
推荐(0)
2019年11月12日
Leetcode题目104.二叉树的最大深度(DFS+BFS简单)
摘要: 题目描述: 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 思路分析:递归(二叉树最大深度,等于左右子树的最大深度+1) 代码实现: 一、深度优先比遍历(DFS) 二、层次遍历(BFS,广度优先) 时间复杂度:O(N
阅读全文
posted @ 2019-11-12 10:11 菜鸟奋斗史
阅读(427)
评论(0)
推荐(0)
2019年11月11日
Leetcode题目102.二叉树的层次遍历(队列-中等)
摘要: 题目描述: 给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。 思路分析: 1.LinkedList作为队列迭代实现 2.递归 代码实现: 一、迭代(LinkedList),队列作为辅助数据结构实现二叉树的层次遍历 【注意】:Java LinkedList add 是加
阅读全文
posted @ 2019-11-11 15:00 菜鸟奋斗史
阅读(279)
评论(0)
推荐(0)
Leetcode题目101.对称二叉树(简单)
摘要: 题目描述: 给定一个二叉树,检查它是否是镜像对称的。 思路解析: 思路一:对二叉树进行中序遍历,判断节点值是否对称分布(LeetCode测试用例未通过,但本地测试通过) 思路二:递归
阅读全文
posted @ 2019-11-11 10:13 菜鸟奋斗史
阅读(288)
评论(0)
推荐(0)
2019年11月8日
Leetcode题目98.验证二叉搜索树(递归-中等)
摘要: 题目描述: 给定一个二叉树,判断其是否是一个有效的二叉搜索树。 假设一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。 思路分析:递归 因为二叉搜索树中序遍历是递增的,所以我们可以中序遍历判断前一数是否小于
阅读全文
posted @ 2019-11-08 16:18 菜鸟奋斗史
阅读(195)
评论(0)
推荐(0)
Leetcode题目96.不同的二叉搜索树(动态规划-中等)
摘要: 题目描述: 给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种? 思路解析: 动态规划 假设n个节点存在 令G(n)表示从1到n可以形成二叉排序树个数 令f(i)为以i为根的二叉搜索树的个数 即有:G(n) = f(1) + f(2) + f(3) + f(4) + ... +
阅读全文
posted @ 2019-11-08 15:25 菜鸟奋斗史
阅读(329)
评论(0)
推荐(0)
Leetcode题目94.二叉树的中序遍历(中等)
摘要: 题目描述: 给定一个二叉树,返回它的中序遍历。 思路解析: 1)递归:没啥说的,左子树->根->右子树顺序去遍历 2)迭代计算:用栈,再用一个指针模拟访问过程 代码实现: 1)递归 2)迭代: 时间复杂度:O(n)。递归函数 T(n)=2⋅T(n/2)+1。空间复杂度:最坏情况下需要空间O(n)(每
阅读全文
posted @ 2019-11-08 14:35 菜鸟奋斗史
阅读(390)
评论(0)
推荐(0)
Leetcode题目79.单词搜索(回溯+DFS-中等)
摘要: 题目描述: 给定一个二维网格和一个单词,找出该单词是否存在于网格中。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。 代码实现:
阅读全文
posted @ 2019-11-08 10:41 菜鸟奋斗史
阅读(230)
评论(0)
推荐(0)
2019年11月7日
Leetcode题目78.子集(回溯-中等)
摘要: 题目描述: 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。 说明:解集不能包含重复的子集。 题目解析:回溯的过程是执行一次深度优先遍历,一条路走到底,走不通的时候,返回回来,继续执行,一直这样下去,直到回到起点。 代码实现:注意空集也是集合的子集 将结果集扩大操作放在循
阅读全文
posted @ 2019-11-07 19:44 菜鸟奋斗史
阅读(345)
评论(0)
推荐(0)
Leetcode题目75.颜色分类(双指针-中等)
摘要: 题目描述: 给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 注意:不能使用代码库中的排序函数来解决这道题。 进阶:一个直观的解决方案是使用计数排序的
阅读全文
posted @ 2019-11-07 16:49 菜鸟奋斗史
阅读(323)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
8
9
···
26
下一页
公告