摘要:
题目 给定一棵树,同时给出树中的两个结点(n1和n2),求它们的最低公共祖先。 分析1 最直观的想法是判断某节点的左子树和右子树如果分别包含一个节点n1或n2,也就是一边一个,那该节点就是他们的最低公共祖先。可以用递归的方式依次判断左右子树求解 代码 1 TreeNode* FirstCommonP 阅读全文
posted @ 2016-02-02 21:49
summerxx
阅读(783)
评论(0)
推荐(0)
摘要:
1 快速排序 http://blog.csdn.net/morewindows/article/details/6684558 这篇博客介绍的非常清晰易懂了。主要就是挖坑,填坑+分治法策略。笔者这里就只贴出代码来 1 void QuickSortCore(int arr[],int start,in 阅读全文
posted @ 2016-02-02 15:46
summerxx
阅读(243)
评论(0)
推荐(0)
摘要:
题目 求一个数组中所有的逆序对数,如数组arr[]={5,2,4,9,8,6,13,14},逆序对有5,2; 5,4; 9,8; 9,6; 8,6; 逆序对数为5 分析 因为数组不是排序的,所以要找一个元素后面所有比它小的数,最直观的想法是依次遍历后续的元素。这样做的时间复杂度为O(n). 除此之外 阅读全文
posted @ 2016-02-02 15:38
summerxx
阅读(637)
评论(0)
推荐(0)
摘要:
题目 给定一个字符串,求其中所有的对称子串 分析 对称字符串无非两种情况,一是以1个字符为中心对称,如"abcba",一是完全对称,如"abccba"。对于字符串对称的判断,从内往外查找比较方便 代码 1 int SymmtricSubStrings(char* str,vector<string> 阅读全文
posted @ 2016-02-02 11:25
summerxx
阅读(960)
评论(0)
推荐(0)

浙公网安备 33010602011771号