最近做了一个自动纠错
当 Query 中有一些错别字时,搜索引擎会尝试纠错
通过相似拼音纠错
搜索引擎把这些字还原成拼音,用一个拼音相同的已知 Query 代替。
但是,当输错的汉字是多音字,特别是有多个这样的错误输入时,所有的搜索引擎基本上都不管, 或者仅使用一个最常用的音去纠错。因为要考虑所有可能的拼音组合,在极端情况下会导致指数爆炸!
我的算法解决了这个指数爆炸...
分类:
Web开发 时间:
2014-08-08 18:15:46
收藏:
0 评论:
0 赞:
0 阅读:
393
...
分类:
其他 时间:
2014-08-08 18:15:37
收藏:
0 评论:
0 赞:
0 阅读:
377
给一个n边形,求将这个多边形分成只含有三角形和四边形的分割数...
分类:
其他 时间:
2014-08-08 18:15:26
收藏:
0 评论:
0 赞:
0 阅读:
336
ActionBar-PullToRefresh是一个开源的下拉刷新控件,基于ActionBar的,在下拉时变化的是ActionBar,ActionBar的低端有横向滑动的进度条。
这里我记录一下我是如何使用它的。...
分类:
其他 时间:
2014-08-08 18:15:16
收藏:
0 评论:
0 赞:
0 阅读:
550
Problem Description
bobo found an ancient string. The string contains only three charaters -- "(", ")" and "?".
bobo would like to replace each "?" with "(" or ")" so that the string is valid (d...
分类:
其他 时间:
2014-08-08 18:15:06
收藏:
0 评论:
0 赞:
0 阅读:
334
我们在看JSCover(http://tntim96.github.io/JSCover/manual/manual.xml)介绍及使用说明的时候,往往被图形界面所吸引。这种方式比较适合手工操作,点击和输入即可。
但是这种往往界面和真实界面相差比较大,因为真正的网页在JSCover内部的浏览加载框中。这使得原有的Selenium代码可能存在诸多问题。那么如何能够尽量少地改变原有的sele...
分类:
Web开发 时间:
2014-08-08 18:14:56
收藏:
0 评论:
0 赞:
0 阅读:
645
从头到尾彻底理解KMP
作者:July
时间:最初写于2011年12月,2014年7月21日晚10点 全部删除重写成此文,随后的半个多月不断反复改进。
1. 引言
本KMP原文最初写于2年多前的2011年12月,因当时初次接触KMP,思路混乱导致写也写得非常混乱,如此,留言也是“骂声”一片。所以一直想找机会重新写下KMP,但苦...
分类:
其他 时间:
2014-08-08 18:14:46
收藏:
0 评论:
0 赞:
0 阅读:
321
状态栏的字体为黑色:UIStatusBarStyleDefault
状态栏的字体为白色:UIStatusBarStyleLightContent
一、在info.plist中,将View controller-based status bar appearance设为NO
状态栏字体的颜色只由下面的属性设定,默认为白色:
// default is UIStatu...
分类:
移动平台 时间:
2014-08-08 18:14:36
收藏:
0 评论:
0 赞:
0 阅读:
369
Java的构造函数链:
构造函数...
分类:
编程语言 时间:
2014-08-08 18:14:26
收藏:
0 评论:
0 赞:
0 阅读:
358
I/O复用模型
I/O复用原理:让应用程序可以同时对多个I/O端口进行监控以判断其上的操作是否可以进行,达到时间复用的目的。在书上看到一个例子来解释I/O的原理,我觉得很形象,如果用监控来自10根不同地方的水管(I/O端口)是否有水流到达(即是否可读),那么需要10个人(即10个线程或10处代码)来做这件事。如果利用某种技术(比如摄像头)把这10根水管的状态情况统一传达到某一点,那么就只需要1个...
分类:
编程语言 时间:
2014-08-08 18:14:16
收藏:
0 评论:
0 赞:
0 阅读:
457
扩展欧几里得算法及其应用
一、扩展欧几里得算法
扩展欧几里得算法:对于不完全为 0 的非负整数 a,b,若gcd(a,b)表示 a,b 的最大公约数,必然存在整数对x,y ,使得 ax+by = gcd(a,b)。
算法过程:
设 a>b,当 b=0时,gcd(a,b)=a。此时满足ax+by = gcd(a,b)的一组整数解为x=1,y=0;当a*b!=0 时,
设 a*x1+b*...
分类:
其他 时间:
2014-08-08 18:14:06
收藏:
0 评论:
0 赞:
0 阅读:
331
基于ssh和bootstrap实现的无线点餐系统。...
分类:
其他 时间:
2014-08-08 18:13:56
收藏:
0 评论:
0 赞:
0 阅读:
328
前言:
在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。
认识BlockingQueue
阻塞队列,顾名思义,首先它是一个队列,而一个...
分类:
其他 时间:
2014-08-08 18:13:37
收藏:
0 评论:
0 赞:
0 阅读:
401
Matlab 图像处理 Day...
分类:
其他 时间:
2014-08-08 18:13:26
收藏:
0 评论:
0 赞:
0 阅读:
316
主要是4个默认函数的重写:
代码:
#include
using namespace std;
class Cstring{
private :
char * data;
public :
Cstring(const char * str =NULL);
Cstring(const Cstring &another);
~Cstring();
Cstring & ope...
分类:
其他 时间:
2014-08-08 18:13:16
收藏:
0 评论:
0 赞:
0 阅读:
331
一维最大字段和的扩展。
要诀是固定列的左右点,比如左边记录为left, 右边记录为right,那么一个循环left从0到COL,行最大值,那么right从left开始循环到COl,就可以考虑到所有列组合了,这个循环是O(n*n),然后求范围列内的行最大子段和,时间是O(n),
这样巧妙地把二维的问题转化为一维了,最终时间复杂度是O(n^3)。
可以参考Geeks上的讲解,不过他的最大...
分类:
其他 时间:
2014-08-08 18:12:56
收藏:
0 评论:
0 赞:
0 阅读:
465
在移动应用开发中,我们经常会遇到从网络请求图片到设备上展示的场景。
如果每次都重复发起请求,浪费流量、浪费电量,用户体验也不佳;
将图片持久化到磁盘也不失为一种策略;但每次从文件读取图片也存在一定的io开销,就算采用此策略,我们也需要控制磁盘缓存的容量,以免占用过多系统资源。
其实没有一个方案可以说是完美的方案,只有最适合自己业务需求的方案,才可以说是一个好方案。
我们下面所讲解的...
分类:
移动平台 时间:
2014-08-08 18:12:46
收藏:
0 评论:
0 赞:
0 阅读:
560
UVA 11255 - Necklace
题目链接
题意:一个链子,由三种颜色的珠子构成,现在给定三种颜色的珠子个数,求能组成多少种(旋转,翻转算同一种)
思路:利用ploya定理,然后分类讨论即可
代码:
#include
#include
typedef long long ll;
const int N = 45;
int t, a, b, c, n;
...
分类:
其他 时间:
2014-08-08 18:12:36
收藏:
0 评论:
0 赞:
0 阅读:
361
1.6 小结
这一章简要概述了函数式编程及其意义。我们介绍了声明式编程风格,可用于以函数风格写应用程序和库函数。声明式编程已有许多成功的应用,如 WPF 和 LINQ,而且,在 C# 3.0 中,能够用它来为其他类型的问题写函数式解决方案。
并行编程是现代软件开发展的一大挑战,使用函数方法能使问题显著容易,这要归功于不可变性和声明式编程。不可变性有助于写出正确、安全的代码;声明式编程能够...
分类:
其他 时间:
2014-08-08 18:12:26
收藏:
0 评论:
0 赞:
0 阅读:
384
1、在res文件夹下新建drawable文件夹。
2、新建一个xml文件。
3、采用drawable来定义资源。
<stroke
android:width="...
分类:
移动平台 时间:
2014-08-08 18:12:16
收藏:
0 评论:
0 赞:
0 阅读:
375