自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

靖空间

降低成功的时间复杂度,提高生活的空间复杂度

  • 博客(17)
  • 资源 (5)
  • 收藏
  • 关注

原创 Leetcode Convert Sorted List to Binary Search Tree

二分法和中序遍历二叉树的高级结合应用。综合难度指数五星级。难点:1 如何设计二分法的结束条件?2 如何中序先构造左子树,然后构造根节点,然后是右子树?3 如何确定根节点?4 如何返回节点,如何确定返回的节点是左子树还是右子树?5 什么时候递归?好多问题的一个算法设计,但是只要理解透切了,一切问题都可以归结为几行简单的代码。这也叫做编程之美。

2014-02-28 08:02:04 2225

原创 Longest Consecutive Sequence

3到4星级难度。考点:活用hash表利用?:操作可以简化让程序更加简洁。注意:1 数组中的数字会有重复,不要重复处理数据。2 利用hash数据结构存储新增的数字,更新连续数字两边的边界值。3 统计hash表中的最大值。

2014-02-27 10:01:33 1286

原创 Leetcode Unique Binary Search Trees II

五星级难度指数吧。如何处理结束条件?如果构造所有二叉排序树?把递归放进循环里面的思想——这样就可以抽离根节点和左右子树节点熟记这个思想,难度指数可以降低到4星级。思想十分难,程序构造处理并不复杂。

2014-02-25 08:26:42 4148

原创 Leetcode Valid Palindrome

很简单的题目: 2星级。考点:1 会判断是否是字母和数字2 知道什么是Palindrome可以利用函数库判断是否为数字或者字母,程序如下:

2014-02-24 07:50:32 1498

原创 Leetcoe Binary Tree Maximum Path Sum

之前觉得这个是难得一塌糊涂的题目,为五星级难度。但是自从熟悉了递归回溯,树的遍历,二分法这些相关的算法之后,重新思考一下这道题目。觉得难度也不过如此,重新评为3到4星级吧。关键点:1 每个节点的左右子树都必须保留可以连接的值,本程序作为返回值保留,如节点是root, 可以连接的值为root->val, root->val+left_sum, 或者root->val+right_sum;三个值中的最大值。其中left_sum和right_sum分别为左右子树的最大可连接值。2 额外使用一个全局变量r

2014-02-23 09:45:06 1562

原创 Leetcode Path sum II

就是递归回溯法的应用。2到3星难度。如下程序:下面这样写法可以说是很多递归回溯程序的标准形式了:

2014-02-22 08:30:09 1427 4

原创 Leetcode Sqrt(x)

Implement int sqrt(int x).Compute and return the square root of x.分二分法和牛顿迭代法两种解法

2014-02-22 08:28:51 1538

原创 Leetcode Surrounded Regions

本题关键是理解问题的特点:四面的最外层搜索,有O通路的就为不被包围的区域,其他都可以置为X;没把握这个特点,难度为五星级的。知道这个特点,难度瞬间变为3到4星级。

2014-02-21 08:21:14 1686 3

原创 Leetcode Maximum Depth of Binary Tree

求树最大深度,一个递归就可以了。其本质和求树的高度是一样的。比求最小深度要容易的多,如果求最小深度就需要额外处理一下,如博客:

2014-02-20 09:12:35 1130

原创 Leetcode Word Ladder

五星级难度。难点考点:1 高级树的层序遍历应用2 hash容器unordered_set应用3 如何构造一颗庞大枝叶的树解决问题注意问题:1 如何计算并保存结果2 什么时候返回结果3 什么时候进入下一层,什么时候结束层序遍历4 每一层如何构造

2014-02-19 05:17:12 1391

原创 Leetcode Distinct Subsequences 动态规划法活用总结

动态规划法活用总结:1 二维表:很多问题都可以转化为二维表2 三维表:比较难理解,时间效率一般是O(n*n*n)3 二维表变一维表:一般是简化二维表,不需要保存整个表4 一维表变常量:一般是由一维表简化而来,一维表也不需要保存,只保存当前结果和当前结果需要用的变量就可以5 逆向填表:根据表进一步抽象简化出来,可以让程序更加简洁,当然也更加更加难理解。设计动态规划法算法,应该循序渐进,先设计二维表或三维表,然后再简化,进一步优化,再简化,不要一步就写最简化的程序。熟练之后,可以直接设计表,根据

2014-02-19 05:12:53 2606

原创 leetcode Construct Binary Tree from Preorder and Inorder Traversal

Given preorder and inorder traversal of a tree, construct the binary tree.和construct binary tree from inorder and postorder traversal 的构造方法是一样的。这次是使用preorder数组定位跟节点,利用inorder数组分左右子树。

2014-02-18 07:59:19 1754

原创 Leetcode Binary Tree Zigzag Level Order Traversal

二叉树层序遍历的知识。使用什么容器可以任君选择。关键是考查层与层之间的访问顺序是不一样的,需要做一点特殊处理。总体来说3到4星难度。

2014-02-17 08:08:01 1384

原创 Leetcode Symmetric Tree 递归和非递归解法

和same tree题目差不多一样的解法。1 recursively 递归法:2 iteratively 非递归:使用先序遍历,原来树的先序遍历的非递归写法也不简单。

2014-02-16 01:11:36 15202 1

原创 Leetcode Recover Binary Search Tree

本题注意不能通过测试是否是合法二叉树来修复,而是要通过检查全局二叉树确定哪两个节点的值调换了。检查全局二叉树就是通过检查哪两个值是不按由小到大的顺序的。可以利用额外空间O(n)空间,也可以使用常量空间。要点就是:利用一个数组如vector保存不合法的节点,最后恢复不合法节点。如下面两个程序:

2014-02-12 08:06:14 2113

原创 Leetcode Palindrome Partitioning II

因为我研究了很长时间,没看提示的情况下,观察了各种可能的判断,始终没有找到可行的快捷方法,判断时间效率必定为O(n*n),没有找到什么规律可以提高效率。最后上网搜索也没看到有可行方法。整个题目解决,如果是可以O(n*n*n)时间复杂度是稍微简单点的,不然对动态规划法的运用就要求比较高了。下面程序分两个函数,两步解决问题:函数1 先产生一个回文表,记录了所有子串是回文的表。函数2 判断最小分隔步数

2014-02-07 08:01:09 1790

原创 Geeks 面试题: Longest Bitonic Subsequence

这里的技巧是两边扫描,然后合起来,时间效率也是O(n*n),和求最大递增子段和一样。两边扫描是个经典技巧,一定要记得,掌握。

2014-02-02 07:05:34 2064 1

OpenGL完美的心形

可以参考本人博客: http://blog.csdn.net/kenden23/article/details/27338943 是一个使用OpenGL FreeGlut画的一个完美的心形。

2014-05-28

简单Windows弹球程序

详细描述,请看下面博客: http://blog.csdn.net/kenden23/article/details/17268877

2013-12-14

第一人称3D镜头框架代码

http://blog.csdn.net/kenden23/article/details/14051187 这个博客讲解的代码框架。讲解的类部分另外下载,可在博客上找。

2013-11-02

第一人称3D镜头类

http://blog.csdn.net/kenden23/article/details/14051187 这个博客讲解的代码,可以实现一个3d漫游第一人称视觉的类。一个镜头类,可以控制3D视觉,实现漫游效果

2013-11-02

算法问题集合源文件 堆排序 吊桶排序 最大子段和等

这个是本博客算法专栏的部分.cpp源文件,方便大家打包下载,如果没有积分的话,可以到我博客粘贴,博客有完整的代码。 http://blog.csdn.net/column/details/billsalgorithm.html?page=1#12944927 这里是部分源文件,暂时没时间全部做好。 可以直接加入项目运行的,建议使用vs2012编译。

2013-10-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除