算法
Felixabcd
这个作者很懒,什么都没留下…
展开
-
LeetCode第13题--Roman to Integer(Java实现)
LeetCode第13题–Roman to Integer(Java实现)原题Given a roman numeral, convert it to an integer.Input is guaranteed to be within the range from 1 to 3999.解题思路先弄明白什么是罗马数字:这7个符号与10进制阿拉伯数字的对应关系是: I=1;X=10;C=100;M原创 2015-04-08 17:24:24 · 530 阅读 · 0 评论 -
jpeg编码学习笔记
各种图片格式目的是在网络传输和存储的时候使用更少的字节,即起到压缩的作用。在图片格式解码后,无论图片的格式,图片数据都是像素数组。 本文将尝试通过JPEG这种图片编码格式的学习,了解图片编码的秘密。原创 2016-12-24 21:12:00 · 2578 阅读 · 0 评论 -
LeetCode第207题--Course Schedule
LeetCode第207题–Course Schedule原题给出课程总数,用不同整数编号表示不同课程,用一个二维数组表示多组先修课程的顺序对。比如:有2门课,要学课程1必须先学课程0,这是有效的。2, [[1,0]]如果有2门课,要学课程1必须先学课程0,要学课程0必须先学课程1,这是无效的。2, [[1,0],[0,1]]需要完成的就是这个方法: public boolean can原创 2015-05-07 15:43:37 · 590 阅读 · 0 评论 -
霍夫曼压缩算法
霍夫曼压缩算法概述霍夫曼压缩算法的主要思想是用较少的比特表示出现频率较高的字符,用较多的比特表示出现频率较低的字符。如下图所示, 实现①读入完整的输入流,并转化为字符数组。②计算每个字符出现的次数③构建Huffman树④构建编译表⑤将单词查找树编码成比特输出串并写入到输出流⑥将单词总数编码成比特输出串并写入到输出流⑦使用编译表翻译每个输入字符节点的表示 private sta原创 2015-05-05 22:53:50 · 8507 阅读 · 0 评论 -
游程编码算法
游程编码算法概述利用比特流常见的冗余形式:连续的重复数据,来压缩数据。0000000000000001111111000000011111111111 --40bit在源数据中,记录重复bit的个数,记录到压缩数据中。1111,0111,0111,1011 --16bit 实现压缩原理:将源文件中连续的1或0的个数(原创 2015-05-05 14:58:56 · 8854 阅读 · 0 评论 -
【LeetCode】Letter Combinations of a Phone Number
【LeetCode】Letter Combinations of a Phone Number题目在手机九宫格键盘上输入一串数字,给出可能打印出来的字符串的集合。分析先做一个map将数字映射到键盘上相应的字母集合。把按键顺序看成深度优先遍历的深度,每次dfs将深度d+1直到d=按键字符串的长度未知,此时即完成了一次按键可能的输出。实现 static Map<Integer, Chara原创 2015-05-08 19:54:45 · 471 阅读 · 0 评论 -
【LeetCode】Merge Intervals
【LeetCode】Merge Intervals题目Given a collection of intervals, merge all overlapping intervals.For example,Given [1,3],[2,6],[8,10],[15,18],return [1,6],[8,10],[15,18].分析先对intervals集合按start从小到大排序,last变原创 2015-05-08 14:40:10 · 433 阅读 · 0 评论 -
KMP子字符串查找算法
KMP子字符串查找算法概述算法的基本思想是:当出现不匹配时,就能知晓一部分文本的内容,可以利用这些信息避免将指针回退到所有这些已知的字符串之前。DFA(确定有限状态机)模拟提前判断如何重新查找,而这种判断只取决于模式本身,所以可以对模式的字符序列做一个确定有限状态机。DFA的数据结构表示为二维数组dfa[R][M],其中R为指定字典中的字符集的个数(比如ASCII为256),M为匹配字符串pat的长原创 2015-05-02 21:14:08 · 680 阅读 · 0 评论 -
Programming Assignment 2 Seam Carving 暴力实现
Programming Assignment 2 Seam Carving 暴力实现Robert Sedgewick教授在Coursera上开了一门算法课,这是图论中的一道编程作业题。问题概述图像由像素构成,可以看成是一张二维数组,其中的存储着Color,这样每个位置都有相应的颜色,就可以表示一张图片了。 这道题目的目的是resize图像,每次删除一行或一列颜色值最不明想的像素。图像在二维数组中的原创 2015-04-04 23:47:56 · 1214 阅读 · 0 评论 -
Poj第1083题--Moving Tables
Poj第1083题–Moving Tables原题Moving TablesDescriptionThe famous ACM (Advanced Computer Maker) Company has rented a floor of a building whose shape is in the following figure. The floor has 200 rooms each o原创 2015-04-03 19:00:31 · 552 阅读 · 0 评论 -
《自制搜索引擎》笔记
第1章 搜索引擎是如何工作的搜索引擎的基础是应用于信息检索、数据库等领域的信息技术。1-1 理解搜索引擎的构成1-2 实现了快速全文搜索的索引结构利用全扫描进行全文搜索grep就是从头到尾扫描作为检索对象的文档的。利用索引进行全文搜索先建立索引需要花费时间。倒排索引的结构例子:印在教程书后面的索引。 所谓倒排索引就是一张列出了“哪个单词出现在了哪一页”的表格。如下图: 倒排索引的构建方法 为了原创 2017-10-07 22:45:36 · 973 阅读 · 0 评论