算法
文章平均质量分 79
夜吟
这个作者很懒,什么都没留下…
展开
-
串匹配算法之KMP算法
KMP算法简介就不讲了,对于朴素的模式串匹配算法,发生失配时每次只能移动一个位置,然后再进行比较,而KMP算法可以根据模式串本身的性质,来决定向后跳几步下面我们用一个例子来说明next数组的计算公式是其实next数组还有一个简单的方法可以看出来就是看它前面的与第0位开始的重复多少个,比如上面的 j=2的时候 next[1]=0,且p[j-1]=b!=p[原创 2016-01-09 20:21:01 · 427 阅读 · 0 评论 -
串匹配算法之Sunday算法
sunday算法据说是效率比KMP,BM都好的算法sunday算法的关注点与kmp算法不一样,sunday算法关注的是目标串匹配则好,如果不匹配,则看下一位是否在模式串中(因为当前已经失配,那么下一位肯定是要参与匹配的)如果下一位在模式串中有,则关于最右边的这位进行对齐(因为可能这个下一位在模式串中不止一个)下面模拟一下算法第一趟acaba原创 2016-01-09 20:58:16 · 607 阅读 · 0 评论 -
微软笔试题1:Font Size
描述Steven loves reading book on his phone. The book he reads now consists of N paragraphs and the i-th paragraph contains ai characters.Steven wants to make the characters eas原创 2016-04-06 23:18:21 · 556 阅读 · 0 评论 -
微软笔试题2:403 Forbidden
描述Little Hi runs a web server. Sometimes he has to deny access from a certain set of malicious IP addresses while his friends are still allow to access his server. To do this he writes N rules in th原创 2016-04-07 10:13:33 · 1429 阅读 · 2 评论 -
微软笔试题3:Demo Day
描述You work as an intern at a robotics startup. Today is your company's demo day. During the demo your company's robot will be put in a maze and without any information about the maze, it should be a原创 2016-04-07 11:38:55 · 889 阅读 · 0 评论 -
微软笔试题4:Buiding in Sandbox
描述Little Hi is playing a sandbox voxel game. In the game the whole world is constructed by massive 1x1x1 cubes. The edges of cubes are parallel to the coordinate axes and the coordinates (x, y, z) o原创 2016-04-07 11:42:51 · 1222 阅读 · 2 评论 -
trie树
最近在看字符串算法了,其中字典树、AC自动机和后缀树的应用是最广泛的了,下面将会重点介绍下这几个算法的应用。 字典树(Trie)可以保存一些字符串->值的对应关系。基本上,它跟 Java 的 HashMap 功能相同,都是 key-value 映射,只不过 Trie 的 key 只能是字符串。 Trie 的强大之处就在于它的时间复杂度。它的插入和查询时间复杂度都为 O(k) ,原创 2017-03-22 15:29:05 · 361 阅读 · 0 评论 -
背包问题整理
背包问题分为0/1背包,多重背包、完全背包这三大类下面给出6个常见的题目Backpack IProblem 单次选择+最大体积Given n items with size Ai, an integer m denotes the size of a backpack. How full you can fill this backpack?Notice原创 2017-04-11 17:56:27 · 616 阅读 · 1 评论