代码改变世界

图与最短路径

2013-08-02 18:06 by 康杜, 1462 阅读, 0 推荐, 收藏, 编辑
摘要:问题给了A、B两个单词和一个单词集合Dict,每个的长度都相同。我们希望通过若干次操作把单词A变成单词B,每次操作可以改变单词中的一个字母,同时,新产生的单词必须是在给定的单词集合Dict中。求所有行得通步数最少的修改方法。举个例子如下:Given: A = "hit" B = "cog" Dict = ["hot","dot","dog","lot","log"]Return[ ["hit","hot"," 阅读全文

素数(质数)的一个用法

2013-07-26 19:17 by 康杜, 496 阅读, 0 推荐, 收藏, 编辑
摘要:素数的定义素数(质数,prime number)是一种只能被1和本身整除的数。鼎鼎大名的RSA就是用了素数的基本特性发明的。RSA太难,不容易理解,下面的这个素数的例子就比较容易理解了。给出两个字符串A和B,写出程序判断B串里面的字符是否都在A串中。例如A="hssawonderfulwo"B="who"这个问题可以有多种解法,比如说把A,B排序,然后比较;或者把A中的每个字符放到Set中,然后在把B的字符依次放到Set中,如果B中字符不能放进去,那么B中的字符A也有。还有一种方法...将A和B字符串中的每个字符做素数的映射,比如T=2,h=3,..., 阅读全文

一个手机号码剔重的问题

2013-07-19 19:24 by 康杜, 1339 阅读, 1 推荐, 收藏, 编辑
摘要:问题QQ群上有人问了这样一个问题,现有2个待推广手机号码数据文件,A文件1000W行,B文件是100W,文件中每行记录只有手机号,号码有重复,请设计高效方案先对A、B数据文件分别进行号码剔重,再找出B文件中在A文件存在的号码,请写出核心设计思想,并编写代码完整实现。(注:请用纯c实现,不许采用数据库、Memcached等第三方中间件,号码数据文件请自行模拟生成)答题要求:请同时提供Word设计文档,和程序源代码(如程序中使用了第三方Jar请注明,jar包请不要上传),打包上传。思路及分析我想了一下,看看《编程珠玑》,然后我决定用位图(Bit Map)来解决这个问题。有些朋友可能还不了解位图(B 阅读全文

采样问题

2013-05-07 18:14 by 康杜, 348 阅读, 0 推荐, 收藏, 编辑
摘要:先抛出问题:一个公司的员工有100位,如何在这100位的员工里面抽取出10个幸运奖得主?通过分析,这个问题可以总结为“如何在列表中随机等概率地选择其中某些元素”。针对这个问题,我先给出代码,然后在给出解释(通过问答的方式)。package art.programming.simpling;import java.util.Random;public class Simpling { public static Object[] simple(Object[] objects, int num) { //The length of the array int len = objects.le.. 阅读全文

2012年回顾

2013-01-07 16:35 by 康杜, 351 阅读, 0 推荐, 收藏, 编辑
摘要:年终了,大家都忙着写年终总结。恰逢我负责开发的两个项目也接近尾声了,所以我也写下回顾作为以后工作的参考。同时在工作过程中,我有些心得和体会也想和大家分享一下。领域驱动设计方法论领域问题(Domain Problem)是我们构建的系统要解决的问题,比如我们做的这个B2C电子商务类系统,它要解决的问题领域有这些“认证”、“身份及组织”、“用户”、"商品"、“订单”、“交易”和“统计分析”等问题。按照领域,我们把整个系统又垂直划分为多个子系统,比如:IAMIdentity Authentication Management 身份认证子系统SmartOrgSmart Organiz 阅读全文

PriorityQueue和Huffman编码

2012-12-14 15:47 by 康杜, 1159 阅读, 0 推荐, 收藏, 编辑
摘要:前言本文不描述Huffman编码的算法和理论知识。Huffman编码算法的描述请看酷壳上的文章《Huffman压缩算法》。本文只考虑Huffman编码的Java实现,代码中有些地方没有做性能优化。PriorityQueuePriorityQueue是一个排序的队列,是构建Huffman树的基础。package art.programming.huffman;//Frequency用来抽象每个字符出现频率public class Frequency implements Comparable<Frequency>{ private int frequency; private Cha 阅读全文

在RHEL5上安装CouchDB

2012-11-29 14:08 by 康杜, 258 阅读, 0 推荐, 收藏, 编辑
摘要:简介本文介绍CouchDB在RHEL5上的安装步骤。先安装Yum如果没有Yum,先安装一个Yum。 Yum的安装这里不再敷述。在/etc/yum.repos.d下放一个文件,命名为CentOS-Base.repo, 内容为[base]name=CentOS-$releasever - Basemirrorlist=http://mirrorlist.centos.org/?release=5&arch=$basearch&repo=os#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/gpgche 阅读全文

volatile

2012-09-20 20:24 by 康杜, 1252 阅读, 0 推荐, 收藏, 编辑
摘要:volatile是什么对于volatile, <The Java Language Specification Third Edition>是这样描述的“A field may be declared volatile, in which case the Java memory model ensures that all threads see a consistent value for the variable.”意思是,如果一个变量声明为volatile, Java 内存模型保证所有的线程看到这个变量的值是一致的。“… the volatile modifier guar 阅读全文

EOF

2012-09-17 18:21 by 康杜, 2709 阅读, 1 推荐, 收藏, 编辑
摘要:EOF 阅读全文

通过inode来操作文件

2012-09-13 19:37 by 康杜, 938 阅读, 0 推荐, 收藏, 编辑
摘要:在unix或linux上,有时候我们会遇到一些文件名是乱码。这时候我们不能通过文件名来操作文件。这种情况下,我们可以考虑通过find加上文件唯一的inode来操作。$ cd /tmp$ touch Заглавная_страница$ ls通过ls -il 找到这个文件的inode numberalex@ubuntu:/tmp$ ls -iltotal 7106512 drwxrwxrwt 2 lightdm lightdm 1024 9月 13 08:26 at-spi2106530 drwx------ 2 alex alex 1024 9月 13 17:21 CRX_7... 阅读全文