C&C++ programming language
数组的最大连续子序列
摘要:今天在网上看到的这道题目:一个有N个元素的整型数组arr,有正有负,数组中连续一个或多个元素组成一个子数组,这个数组当然有很多子数组,求子数组之和的最大值。例如:[0,-2,3,5,-1,2]应返回9,[-9,-2,-3,-5,-3]应返回-2。开始感觉貌似也没有那么难,就直接想循环遍历+动态规划的...
阅读全文
posted @
2014-08-08 20:13
晓O(∩_∩)O~
阅读(962)
推荐(0)
字符串匹配算法
摘要:今天一天鼓捣了两种字符串匹配的算法,KMP算法和BM算法,说实话,BM算法还是第一次听说,以前只知道BM算法的说,总之一句话,要学习的还是很多的,看了BM算法,只能感叹作者的高大上了。看了好几篇文章,终于算是把BM算法实现了,并且调试运行成功了,把这学习的经过记录下来,聊表纪念。 1 #inclu...
阅读全文
posted @
2014-08-04 21:14
晓O(∩_∩)O~
阅读(341)
推荐(0)
c++虚函数&重写
摘要:虚函数是C++中实现多态的一种方法,父类A的一个函数声明为虚函数,在子类B中覆盖定义之后,当在调用的时候使用A*a=new B(),此时调用对应的那个虚函数的名字,则会执行B中的函数。当父类中没有定义虚函数的实体时候,virtual void foo()=0;这个函数就是一个纯虚函数,对应的父类就是...
阅读全文
posted @
2014-07-31 19:06
晓O(∩_∩)O~
阅读(2008)
推荐(0)
Remove Duplicates from Sorted Array II
摘要:Remove Duplicates from Sorted Array IIFollow up for "Remove Duplicates":What if duplicates are allowed at mosttwice?For example,Given sorted array A =...
阅读全文
posted @
2014-07-30 18:45
晓O(∩_∩)O~
阅读(189)
推荐(0)
Linked List Cycle II
摘要:题目描述:Given a linked list, return the node where the cycle begins. If there is no cycle, returnnull.Follow up:Can you solve it without using extra spac...
阅读全文
posted @
2014-07-30 16:31
晓O(∩_∩)O~
阅读(230)
推荐(0)
Maximal Rectangle&Largest Rectangle in Histogram
摘要:这两天在做leetcode的题目,最大矩形的题目以前遇到很多次了,一直都是用最笨的方法,扫描每个柱子,变换宽度,计算矩形面积,一直都以为就这样O(n2)的方法了,没有想到居然还有研究出了O(n)的算法,真是对GeeksForGeeks大神膜拜啊。首先是Largest Rectangle in His...
阅读全文
posted @
2014-07-30 15:37
晓O(∩_∩)O~
阅读(230)
推荐(0)
最长回文字串
摘要:研究了一下便于记忆的两种回文字串方法,代码如下:#include #include using namespace std;//最大回文字串,有如下方法://http://blog.csdn.net/linulysses/article/details/5634104//动态规划法/*xPy肯定不是...
阅读全文
posted @
2014-07-30 15:17
晓O(∩_∩)O~
阅读(253)
推荐(0)
图相关算法
摘要:图的保存形式:邻接表,使用一个链表把图的点之间的链接关系保存起来,一般是所有的元素组成一个数组,数组中每个元素是一个节点,节点内保存当前元素和指向相邻元素的指针。邻接矩阵,图中有n个节点,则矩阵E是n*n的,对于无向图,若i和j有链接关系,则E[i][j]=E[j][i]=1若无连接关系则为0;对于有向图,当i到j有边时候,E[i][j]=1,否则为0.图的遍历:深度优先遍历(DFS),即对于一个图,不管是矩阵还是邻接表,优先遍历的是孩纸节点,孩子节点遍历完成之后才遍历兄弟节点。广度优先遍历(BFS),优先遍历兄弟节点。无向图的最小树生成算法:Prim算法,任意选取一个点,然后从这个点拓展,每
阅读全文
posted @
2014-04-01 16:04
晓O(∩_∩)O~
阅读(448)
推荐(0)
C++类四个默认函数&深复制&浅复制
摘要:学习C++语言的同学都知道,C++中类是有默认的几个函数的,主要是有四个函数:四个函数默认构造函数:A(void),无参构造函数拷贝(复制)构造函数:A(const A&a)。用一个对象A去为另一个对象赋值。析构函数:~A(void)。释放掉A所占用的空间。赋值函数:A &original = const A&a。使用一个对象a直接为另一个对象赋值。默认的无参构造函数和析构函数不多讲,大家都很明白,析构函数不用手动调用,是在类生命期结束的时候系统自动调用的,析构函数主要是释放分配的空间的(delete和delete[]有类似之处)。每个类只有一个赋值函数和一个析构函数,
阅读全文
posted @
2014-03-07 20:23
晓O(∩_∩)O~
阅读(2926)
推荐(0)
内存中的static、const实现形式
摘要:最近在考虑下半年找工作的事情,看了不少面试题目,其中还是蛮有收获的,把基础好好复习了一遍。比如这个题目,static、const现形式,static和const类型的变量在写程序的时候也写了很多,不过对编译器内部对其实现知之甚少。所以借这次机会好好百度谷歌了一番。 static实现形式 我们都知道,...
阅读全文
posted @
2014-02-21 18:17
晓O(∩_∩)O~
阅读(523)
推荐(0)