- 博客(5)
- 资源 (2)
- 收藏
- 关注
原创 博文转载
http://www.cnblogs.com/felixfang/p/3814463.htmlhttp://blog.csdn.net/hcbbt/article/details/10454947http://www.cnblogs.com/zzzdevil/p/3651168.html
2015-07-31 15:34:53 1505
原创 LeetCode——Linked List Cycle II
若同时从一个环的某个点出发,fast指针每次走两步,slow指针每次走一步,则可证明slow指针走回起点时,fast指针也恰好到达起点。两种思路:一、fast指针每次比slow指针多走一步,fast指针想与slow指针同时到达某点,必须超过slow指针一圈,每次多走一步,假设环的节点数为N,则多走一圈需要走N次,此时slow指针恰好走完一圈指向出发点,fast指针亦然;二、fast指针的速度是sl
2015-07-22 16:54:45 469
原创 LeetCode——Word Break
class Solution {public: bool wordBreak(string s, unordered_set& wordDict) { int len = s.size(); if(len == 0) return false; set tmp; for(int i = 0; i < len; ++i) {
2015-07-09 15:11:34 305
原创 LeetCode——Count Complete Tree Nodes
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */clas
2015-07-09 15:07:44 424
原创 堆排序
堆是一种完全二叉树,分为小根堆和大根堆。大根堆中任意节点的值都不大于其父节点的值。有些类似于二叉搜索树,都是要求父节点和子节点的值满足某种关系。 堆排序的基本思想是,先用所给数据建立大根堆,堆顶元素即为最大值,将其与最后一个元素交换,此时最后一个元素为最大值;再对最大值之前的元素进行调整,使其恢复为大根堆。再如此将次大值取出排列在最大值之前,循环往复,直到所有元素都排好序。
2015-07-08 20:25:48 386
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人