几个大公司(IBM、MicroSoft and so on)面试经典数据结构与算法题C#解答1.链表反转我想到了两种比较简单的方法第一种是需要开一个新的链表,将原链表的元素从后到前的插入到新链表中(也就是原链表第一个元素被插入成新链表的最后一个元素)。第二种是不需要开新的链表,而是逐步反转原链表中元...
分类:
编程语言 时间:
2015-05-03 21:56:56
阅读次数:
162
1、给定两个正整数(二进制形式表示)A和B,问把A变为B需要改变多少位(bit)?也就是说,整数A和B的二进制表示中有多少位是不同的?(181)解法一:举例说明,为了减少复杂度,就使用八位二进制吧。设 A = 0010 1011, B = 0110 0101.1. C = A & B = 0010 ...
分类:
编程语言 时间:
2015-04-15 16:47:13
阅读次数:
152
唔,想有更加舒爽的阅读体验请移步http://mlz000.logdown.com/posts/252433-mo-algorithm-summary
首先众所周知的是莫队算法是要把询问先按左端点属于的块排序,再按右端点排序
复杂度就先不证了,有兴趣的同学可以自己YY下或者查阅资料
下面举几个例子详细说明
1.小Z的袜子
Descripti...
分类:
编程语言 时间:
2015-01-29 14:39:02
阅读次数:
227
最小树形图 最小树形图模板题,朱-刘算法。 题解:http://blog.csdn.net/shuangde800/article/details/8039359 这位大神代码写的非常通俗易懂,而且这种代码风格也很值得学习……面向对象?= =听说这样封装起来可以避免using namespac...
分类:
Web程序 时间:
2015-01-23 21:27:37
阅读次数:
284
搜索
Time Limit: 1000MS
Memory Limit: 10000K
Total Submissions: 18823
Accepted: 7618
Special Judge
Description
Given a positive integer n,...
分类:
编程语言 时间:
2015-01-19 14:28:22
阅读次数:
303
斐波那契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)。特别指...
分类:
编程语言 时间:
2014-10-22 14:47:21
阅读次数:
180
本题就是求最长的回文子串。
字符串超长,不过限时却是也很长的15秒,最长的限时之一题目了,如果限时短点的话,估计能过的人不多。
使用Mancher算法是可以秒杀的。
模板式的Manacher算法:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#includ...
分类:
其他好文 时间:
2014-08-14 14:12:18
阅读次数:
139
本题就是给出很多对字符串,然后问一个字符串在另外一个字符串出现的次数。
就是所谓的Strstr函数啦。
Leetcode有这道几乎一模一样的题目。
使用KMP算法加速,算法高手必会的算法了。
另外看见讨论说什么使用KMP还超时,最大可能是没有真正理解next table的含义,写了错误的代码,故此虽然自己运行结果正确,但是却没有真正发挥next table的作用,使得算法退化为暴力法了,所...
分类:
其他好文 时间:
2014-07-13 18:41:48
阅读次数:
229
本题其实也可以使用SPFA算法来求解的,不过就一个关键点,就是当某个顶点入列的次数超过所有顶点的总数的时候,就可以判断是有负环出现了。
SPFA原来也是可以处理负环的。
不过SPFA这种处理负环的方法自然比一般的Bellman Ford算法要慢点了。
#include
#include
#include
const int MAX_N = 501;
const int MAX_M =...
分类:
其他好文 时间:
2014-07-13 18:16:50
阅读次数:
352