Linux 安装 memcache

下载 memcache

wget http://memcached.org/latest

如果没有安装 wget 命令,可以先通过 yum 命令安装 wget 命令

yum install wget

解压并安装

tar -zxvf latest
cd memcached-1.x.x
./configure && make && make test && sudo make install

memcache 依赖 libevent,安装中如果出现

for libevent directory… configure: error: libevent is required.

系统会默认安装 libevent,memcache 找不到是因为没有找到相应头文件

可以通过 yum 安装 libevent-devel,安装 libevent 相关开发使用的头文件

yum install libevent-devel

再次执行

./configure && make && make test && sudo make install

此时可能出现错误

prove ./t
make: prove: Command not found
make: *** [test] Error 127

这是执行 make test 命令抛出的错误,可以忽略,重新执行

sudo make install

安装完成

当以 root 身份安装,可以不使用 sudo 获取权限

JavaScript 获取两个字符串最长公共子串 (Longest Common Subsequence)

获取两个字符串 a 和 b 的最长公共子串,时间复杂度 O(mn),空间复杂度 O(n),其中 a 的字符串长度为 m,b 的字符串长度为 n。

function lcs(a, b) {
    var ai, al = a.length,
        bi, bl = b.length - 1, maxBi,
        max = 0, val,
        row = [],
        ret = [];

    for (ai = 0; ai < al; ai++) {
        for (bi = bl; bi > -1; bi--) {
            val = a[ai] == b[bi] ? 1 : 0;
            if (val) {
                if (row[bi - 1]) {
                    val += row[bi - 1];
                }
                if (val > max) {
                    max = val;
                    maxBi = bi;
                }
            }
            row[bi] = val;
        }
    }

    for (; max > 0; max--, maxBi--) {
        ret.unshift(b[maxBi]);
    }

    return ret.join('');
}