会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
将来的事
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
3
4
5
6
7
8
9
10
下一页
2020年8月6日
LeetCode 数组:62. 不同路径(动态规划 带记忆的递归)
摘要: ,接下来 在没有接触过动态规划之前,是这样思考这个题的。 首先想到的就是递归中青蛙跳台阶的问题,自然想到递归。就使用原函数 int uniquePaths(int m, int n) 函数的作用,遵循规则的情况下,有多少中途径到达坐标为(m-1,n-1)的位置 递归终止条件:原点(m=n=1),函数
阅读全文
posted @ 2020-08-06 12:21 将来的事
阅读(257)
评论(0)
推荐(0)
2020年7月31日
LeetCode 数组:56.合并区间(数组的自带排序函数 区间合并问题)
摘要: 对于这道题目我只能说,是我想太多。 首先,我不知道Array自带的排序函数,想着要手写一个排序得多麻烦。。。 其次,我第一个想法就是拍完序后从前往后合并,但是好像老觉得无法穷举,感觉这样排会有问题。 然后变得想,可能会变成嵌套循环的那种求交集 其实是没问题的,首先看两个区间的可能情况: 可以这样手画
阅读全文
posted @ 2020-07-31 10:28 将来的事
阅读(277)
评论(0)
推荐(0)
2020年7月29日
LeetCode 数组:162. 寻找峰值(二分法)
摘要: 做这道题目的问题在于,学会了套路,却忘记了分析问题的独特性。 当然,采取双指针我们可以在ON的时间复杂度解决。 OlogN这个条件其实暗示了很多信息,一般见到无非是二分查找或者二叉树搜索。我想了想,觉得二分查找一般好像是找某个范围内的整数 ,想了想好像对这个题目没什么影响。然后就想怎么把这些数据放到
阅读全文
posted @ 2020-07-29 22:21 将来的事
阅读(510)
评论(0)
推荐(0)
2020年7月28日
LeetCode 数组:75. 颜色分类(计数排序 荷兰国旗问题)
摘要: 是一道排序的题目 题目也提示了计数排序的方法。 当输入的元素是 n 个 0到 k 之间的整数时,时间复杂度是O(n+k),空间复杂度也是O(n+k) 题目后来的要求是常数空间复杂度O1空间复杂度,一趟扫描On,肯定是在计数排序上有所发展。 这时我们应该关注这道排序的特殊之处,因为没有一种通用的排序算
阅读全文
posted @ 2020-07-28 12:19 将来的事
阅读(324)
评论(0)
推荐(0)
2020年7月18日
LeetCode 树 98. 验证二叉搜索树(二叉搜索树,递归,中序遍历,迭代)
摘要: 中序。 刚拿到题目时,第一想法是递归,但是搞错了二叉搜索树成立的条件。 我以为的条件是:左侧树为二叉搜索树,右侧树为二叉搜索树,且root.right>root>root.left,然后递归。 但是显然这不对,满足以上条件后,root.right.left可能比root要小。 先说正确的递归解法:正
阅读全文
posted @ 2020-07-18 17:53 将来的事
阅读(218)
评论(0)
推荐(0)
2020年7月16日
LeetCode 树 103. 二叉树的锯齿形层次遍历(双端队列 DFS的空间复杂度)
摘要: 这道题目乍一看很简单,而且也做出来了,但其实反应出了剑指offer中提出的两个问题 第一个便是处理小错误和特殊输入的能力,这道题做的过程中出了很多小错误 第二个是找寻更好算法的能力,这道题有更好的算法。 首先说原本自己写的算法:一开始看到这种锯齿形算法,当然想到的是层序遍历,然后要改变队列先进先出的
阅读全文
posted @ 2020-07-16 11:42 将来的事
阅读(275)
评论(0)
推荐(0)
2020年7月13日
LeetCode 树 116. 填充每个节点的下一个右侧节点指针(层序遍历 分层)
摘要: 题目的要求,大白话说就是:把指针指向同层的右侧节点 提到同层,自然就要想到层序遍历,自然是队列实现 问题是需要分层 所以采用之前题目用的那种计数的方式 class Solution { public Node connect(Node root) { if(root==null) {return r
阅读全文
posted @ 2020-07-13 17:53 将来的事
阅读(138)
评论(0)
推荐(0)
2020年7月10日
LeetCode 树 230. 二叉搜索树中第K小的元素(二叉搜索树 中序遍历 剪枝)
摘要: 相对来说比较简单的一道题目。 第一反应是,搞个数组把整个搜索树搞个排序,然后就完事了。 自然想到,搜索二叉树的中序遍历即是一个升序排列的方式。因为中序排列就是一个先左子树,再root,再右子树的遍历方式。 自然的想到使用递归实现中序遍历: 递归函数的作用:将整棵树的节点按中序放到一个ArrayLis
阅读全文
posted @ 2020-07-10 20:58 将来的事
阅读(163)
评论(0)
推荐(0)
2020年7月8日
LeetCode 树 236. 二叉树的最近公共祖先(递归 深度优先搜索)
摘要: 一看到这个题目,知道肯定是要搜索,而且至少从直觉上更接近深度优先搜索,因为明显更关注同一棵树,而不是同一层。 DFS实现的方式是递归,我们加上递归再来看看原来的DFS void dfs(TreeNode root) { if (root == null) { return; } root.val.s
阅读全文
posted @ 2020-07-08 16:51 将来的事
阅读(178)
评论(0)
推荐(0)
2020年7月7日
LeetCode 树 102. 二叉树的层序遍历(广度优先搜索 深度优先搜索 队列)
摘要: 二叉树有一些套路,比如说什么中序,层序什么的,这里就是层序遍历。 这里归到了深度优先算法(DFS),或者广度优先算法(BFS)这里 深度优先,最终的结果是先要把一条道走到黑,然后回溯走 以递归的方式实现该算法 void dfs(TreeNode root) { if (root == null) {
阅读全文
posted @ 2020-07-07 17:57 将来的事
阅读(222)
评论(0)
推荐(0)
上一页
1
···
3
4
5
6
7
8
9
10
下一页
公告