- 博客(7)
- 资源 (6)
- 收藏
- 关注
原创 2015实习生求职季总结
一、实习季Timeline从2015年4月开始找实习,前后历时两个月,参加了很多的笔试/面试。这是一个焦虑又美好的学期,我在这段时间里学到了很多东西。这一个学期就这么磕磕绊绊的过了一半了,决定去360实习以后,也终于能安下心来。因为等待(笔试/面试通知)真的是很痛苦的一件事。参加的笔试/面试越多,越发现自己有很多的不足。求职难免碰壁,这两个月我被虐了好几次,导致我的自信心直线下降。
2015-05-23 14:56:47 1060
原创 求最长回文子串
回文串,就是指正读和反读都一样的字符串,比如"level"或者"noon"等等。那么,如何求一个字符串的最长回文子串(Longest Palindromic Substring)?通常我们有多种解法。解法一:暴力法暴力解法就是直接枚举所有子串,对每个子串判断是否为回文,时间复杂度为O(n3)O(n^3)。这是最糟糕的方法,相信面试官问你这个问题,绝对不是想要这个答案。解法二:动
2015-05-12 20:50:35 1136 1
原创 设计并实现一个LRU Cache
一、什么是Cache1 概念Cache,即高速缓存,是介于CPU和内存之间的高速小容量存储器。在金字塔式存储体系中它位于自顶向下的第二层,仅次于CPU寄存器。其容量远小于内存,但速度却可以接近CPU的频率。当CPU发出内存访问请求时,会先查看 Cache 内是否有请求数据。如果存在(命中),则直接返回该数据;如果不存在(失效),再去访问内存 —— 先把内存中的相应数据载入缓存,再将其返回处理器。
2015-05-09 15:17:04 6428
原创 Trie树(Prefix Tree)介绍
本文用尽量简洁的语言介绍一种树形数据结构 —— Trie树。一、什么是Trie树Trie树,又叫字典树、前缀树(Prefix Tree)、单词查找树 或 键树,是一种多叉树结构。如下图: 上图是一棵Trie树,表示了关键字集合{“a”, “to”, “tea”, “ted”, “ten”, “i”, “in”, “inn”} 。从上图可以归纳出Trie树的基本性质:根节点不包含字符,除根节点
2015-05-09 01:49:47 59683 5
原创 拓扑排序(Topological Sorting)
一、什么是拓扑排序在图论中,拓扑排序(Topological Sorting)是一个有向无环图(DAG, Directed Acyclic Graph)的所有顶点的线性序列。且该序列必须满足下面两个条件:每个顶点出现且只出现一次。若存在一条从顶点 A 到顶点 B 的路径,那么在序列中顶点 A 出现在顶点 B 的前面。有向无环图(DAG)才有拓扑排序,非DAG图没有拓扑排序一说。例如,下面这个图
2015-05-07 01:56:17 195872 23
原创 理解公钥与私钥
一直都对公钥和私钥的概念不清不楚,以至于在 腾讯面试 被问到“如何在一个不安全的环境中实现安全的数据通信?”时,并没有答上来。今天查阅了一些资料,决定写一篇总结文章来加深自己的理解。一、公钥算法与私钥算法1、私钥算法私钥加密算法,又称 对称加密算法,因为这种算法解密密钥和加密密钥是相同的。也正因为同一密钥既用于加密又用于解密,所以这个密钥是不能公开的。常见的有《DES加密算法》、《AE
2015-05-02 12:43:32 1893 2
原创 字节序:Big Endian 和 Little Endian
一、字节序字节序,也就是字节的顺序,指的是多字节的数据在内存中的存放顺序。在几乎所有的机器上,多字节对象都被存储为连续的字节序列。例如:如果C/C++中的一个int型变量 a 的起始地址是&a = 0x100,那么 a 的四个字节将被存储在存储器的0x100, 0x101, 0x102, 0x103位置。根据整数 a 在连续的 4 byte 内存中的存储顺序,字节序被分为大端序(Big Endia
2015-05-01 21:11:09 4899
DArray类与String类源码
2014-07-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人