摘要:
原题地址递归写法谁都会,看看非递归写法。对于二叉树的前序和中序遍历的非递归写法都很简单,只需要一个最普通的栈即可实现,唯独后续遍历有点麻烦,如果不借助额外变量没法记住究竟遍历了几个儿子。所以,最直接的想法就是在栈中记录到底遍历了几个儿子。代码: 1 vector postorderTraversal... 阅读全文
posted @ 2015-01-19 17:08
李舜阳
阅读(507)
评论(0)
推荐(0)
摘要:
原题地址以前Leetcode的测试数据比较弱,单纯用链表做也能过,现在就不行了,大数据会超时。通常大家都是用map+双向链表做的。我曾经尝试用C++的list容器来写,后来发现map没法保存list的iterator,总是报错,我也不知道为什么。后来只好手写双向链表,真是痛苦啊,一不小心就会出错。怪... 阅读全文
posted @ 2015-01-19 16:11
李舜阳
阅读(233)
评论(0)
推荐(0)
摘要:
原题地址方法I:固定一个点,枚举剩下的点所构成直线(斜率)先固定一个点,然后计算该点到其他所有点的斜率,最后统计得到最多的共线的点的个数。时间复杂度为O(n^2),需要借助map数据结构保存中间结果,空间复杂度为O(n)。这种方法最大的问题是需要计算斜率,需要用到除法,可能会有数据精度的问题。方法I... 阅读全文
posted @ 2015-01-19 14:03
李舜阳
阅读(631)
评论(0)
推荐(0)
摘要:
原题地址说个题外话,我一直想不明白题目里rotate这个词,感觉用shift更合适啊仔细分析题目,有如下两个性质:1. 对于一个没有折叠过的数组,最小值一定是第一个元素。2. 对于一个折叠过的数组,最小值一定出现在折叠的地方。因此,要找最小值,就把以上两种情况下的最小值都看看,选一个最小的就行了。这... 阅读全文
posted @ 2015-01-19 11:50
李舜阳
阅读(464)
评论(0)
推荐(0)

浙公网安备 33010602011771号