和谐字符串匹配

给一串很长字符串,要求找到符合要求的字符串,例如目的串:123
1******3***2 ,12*****3这些都要找出来。

这个很难概述啊,其实和某G很相似的,所以我给了个标题“和谐字符串匹配”,你懂的。

其实我把这题简化了,我们假设它和某和谐系统一样,对整个字符串只提出Pass和Reset。
#define MAX 256

int hexie(char* pat, char* str)
{
int flag[MAX];
char* ptr = st[......]

继续阅读

MongoDB中的索引操作

1、启用索引

下面的命令对id字段建索引,1表示是升序。如果-1是降序。
db.collection.ensureIndex({id:1}, {unique:true, dropDups:true, background:true});
2、删除索引

删除id的索引
db.collection.dropIndex({id:1})
删除全部索引
db.collection.dropIndexes();
3、重建索引
db.collection.reIndex()[......]

继续阅读

求从1到n中1出现的次数

题目:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。

例如输入12,从1到12这些整数中包含1 的数字有1,10,11和12,1一共出现了5次。

编程之美上的原题

基本思路1:

每次判断各位是否为1,计数。然后依次/=10即可。

时间复杂度O(N*lgN)
#include <stdio.h>

int countone(int num)
{
int cnt = 0;
while(num)
{
if(num%[......]

继续阅读

Python多进程并发(multiprocessing)

由于Python设计的限制(我说的是咱们常用的CPython)。最多只能用满1个CPU核心。

Python提供了非常好用的多进程包multiprocessing,你只需要定义一个函数,Python会替你完成其他所有事情。借助这个包,可以轻松完成从单进程到并发执行的转换。

1、新建单一进程

如果我们新建少量进程,可以如下:
import multiprocessing
import time

def func(msg):
for i in xrange(3):[......]

继续阅读

数据结构重读 – 图的定义和术语

1、在图结构中,结点关系是任意的:任意两个数据元素(结点)之间都可能有关系。

2、有向图可以表示为G={V, A},V是顶点集合,A是关系(边)的集合,也可称作VR。关系(边)用有序对<v, w>表示。图形表示是一条有向弧。v是初始点(弧尾),w是终端点(狐头)。

3、无向图一般表示为G={V, E},V还是顶点集合,E是边集合。边用无序对(v, w)表示。图形表示是一条边(无向)。

有向图G1:

V1 = {v1, v2, v3, v4}

A1 = {[......]

继续阅读