## 数据结构：

### 题1：词频统计

统计一篇英语文章各单词出现的频率，返回出现频率最高的单词。

### 题2：字符串重复统计

All DNA is composed of a series of nucleotides abbreviated as A, C, G, and T, for
example: "ACGAATTCCG". When studying DNA, it is sometimes useful to identify 
repeated sequences within the DNA. 
Write a function to find all the 10-letter-long sequences (substrings) that occur more 
than once in a DNA molecule. 
For example, given s = "AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT", 

return: ["AAAAACCCCC", "CCCCCAAAAA"]. 



## 编码设计：（三选二）

### 题3：缓存设计

设计一个简单缓存工具类（key, value），该工具类主要功能有：
1、提供基本的读写操作；
2、支持设置有效期；
3、对已过期失效的缓存进行定期清理；



### 题4 ：统一社会信用代码

统一社会信用代码是法人和其它组织的唯一性标识，类似自然人的身份证编号。统一社会信用代码由十八位的阿拉伯数字或大写英文字母组成，在法人组织登记成立时，由系统统一进行赋码。需要设计两个功能：
1、赋码功能，根据编码规则生成统一社会信用代码；
2、校验功能，判断一个统一社会信用代码是否合规，样例数据：`91440000789465832A`；

参考资料：[法人和其他组织统一社会信用代码 编码规则](http://openstd.samr.gov.cn/bzgk/gb/newGbInfo?hcno=24691C25985C1073D3A7C85629378AC0)

 

### 题5： 

网站数据爬取中，要将网站的图片扒下来，但因网站做了防爬虫，对图片进行了随机片数和顺序的切片打乱处理。请编写一个程序（伪码亦可），将图片重新还原成正确的图片。

 处理示例：

<img src="../img/题目5.jpg" style="width:100%"/>
            

参考思路：

像素点颜色可由RGB（0-255,0-255,0-255）表示，可以将这个RGB值当做为一个在以R，G，B三个坐标轴的空间直角坐标系中的一个点。那么这个两像素颜色相似的问题，就会被转换为空间直角坐标系中两点间的距离问题。利用空间直角坐标系的知识就可以判断其是否相似（距离近）。

可以通过比较像素点的色差，判断两像素点的色差是否在一个合理的阈值内。如果不是，则表明两像素点不连续。当同一行内不连续的点的总数到达某个阈值时，即可将该行判断为断层。反之，在分层后重新排序时，也可根据分片的边缘像素点连续度判断是否应该将分片连接在一起。

数学公式 ：

<img src="../img/题目5-2.png" style="width:100%"/> 