摘要: 1)最长不重复子串 使用string和vector<string> 2)字符串的全排列 3)判断字符串A是否是字符串B的子串(字符串模式匹配)- 简单算法(BF) KMP字符串模式匹配算法是在一个字符串中定位另一个串的高效算法,时间复杂度为O(m+n)。简单匹配算法的时间复杂度为O(m*n)。 4) 阅读全文
posted @ 2018-11-27 21:00 博亭柳 阅读(389) 评论(0) 推荐(0) 编辑
摘要: 前面看到的问题是数组A中,和为固定值sum的两个数。我们一般的做法是先给数组排序,然后数组前后各有一个下标i、j,如果A[i]+A[j]>sum,则j--,如果A[i]+A[j]<sum,则i++;否则输出A[i]、A[j]。 有一个类似的扩展问题就是:找到一个是数组中和为零的三个数,一般的解决方法 阅读全文
posted @ 2018-11-22 11:37 博亭柳 阅读(1377) 评论(0) 推荐(0) 编辑
摘要: 最近,面试遇到一道算法题目如下: 两个矩形,判断是否相交;如果相交面积大于零,输出相交部分的左上角以及右下角坐标点,否则,输出(-1,-1)、(-1,-1)。 没有给出完善的解决方案,在面试官的细心引导下,解决了两个线段相交输出交点的问题。因此下来在网上搜了相关的问题。 1)下面是转自https:/ 阅读全文
posted @ 2018-11-21 21:27 博亭柳 阅读(1995) 评论(0) 推荐(0) 编辑
摘要: 对于一颗二叉树,深度优先搜索(Depth First Search)是沿着树的深度遍历树的节点,尽可能深的搜索树的分支。以上面二叉树为例,深度优先搜索的顺序 为:ABDECFG。怎么实现这个顺序呢 ?深度优先搜索二叉树是先访问根结点,然后遍历左子树接着是遍历右子树,因此我们可以利用堆栈的先进后出的特 阅读全文
posted @ 2018-11-21 20:06 博亭柳 阅读(452) 评论(0) 推荐(0) 编辑