上一页 1 ··· 58 59 60 61 62 63 64 65 66 ··· 69 下一页
摘要: linux环境下,没有首先安装python_Levenshtein,用法如下:重点介绍几个该包中的几个计算字串相似度的几个函数实现。1. Levenshtein.hamming(str1, str2)计算汉明距离。要求str1和str2必须长度一致。是描述两个等长字串之间对应位置上不同字符的个数。如2. Levenshtein.distance(str1, str2)计算编辑距离(也成Levenshtein距离)。是描述由一个字串转化成另一个字串最少的操作次数,在其中的操作包括插入、删除、替换。如算法实现 参考动态规划整理:http://www.cnblogs.com/kaituorenshe 阅读全文
posted @ 2013-05-18 22:38 jihite 阅读(26870) 评论(2) 推荐(2)
摘要: 安装Putty可以在自己电脑Windows环境下访问工作站(其他机器)的linux系统,前提是其他linux系统配置SSH环境。这就省去了自己装linux系统。 但这样有个问题,就只自己这边的终端把putty关掉的时候,远程的程序也会随之挂掉。如何避免这种情况呢?就是在自己终端关掉的情况下,远程的程序依旧执行,这就用到了screen 命令如何安装screen命令sudo apt-get install screen常用命令1.screen -S lamp :新建一个名字叫lamp的screen窗口,当然也可以只写session就会默认一个名字。如创建了三个screen 窗口一个是命名为lam. 阅读全文
posted @ 2013-05-18 01:31 jihite 阅读(2337) 评论(7) 推荐(1)
摘要: 1.UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 0: ordinal not in range(128)加头文件:参考reload(sys)sys.setdefaultencoding('utf-8') 阅读全文
posted @ 2013-05-16 22:41 jihite 阅读(409) 评论(0) 推荐(0)
摘要: 1.最长连续序列。比如 abccccfa,最长连续序列为cccc,长度为4思路:另开一个数组记录到目前位置最长连续序列长度。每个位置的字符(除第一个)和前一个比较,相同+1,不同标为1图示:代码:#include #include int main(){ char s[10] = "abccccfa"; int num[10] = {0}; char tmp; int maxpos, maxval, i; num [0] = 1; maxpos = 0; tmp = s[0]; for(i = 1; i num[maxpos]) ... 阅读全文
posted @ 2013-05-15 23:54 jihite 阅读(3617) 评论(0) 推荐(0)
摘要: 两种方法:1.声明法 2.模块法1.声明法在文件开始生命全局变量(为了区别,一般大写),在具体函数中,具体使用时,加上“global 变量名”。示例:import osimport sysA = 3B = 5def fuc(): global A global B print "fuc_A:" + str(A) print "fuc_B:" + str(B)if __name__ == "__main__": print "A:" + str(A) print "B:" + str(B) B + 阅读全文
posted @ 2013-05-10 23:53 jihite 阅读(3394) 评论(0) 推荐(0)
摘要: xml文件是可扩展标记语言,在保存数据时,经常和.xml文件打交道,它语法简明、格式友好。具体的信息可以到百度百科科普下,下面主要介绍下我用的处理.xml文件的工具包XML2Dict工具包下载:http://files.cnblogs.com/kaituorensheng/%E5%A4%84%E7%90%86xml%E6%96%87%E4%BB%B6.zip下载后把文件解压,和自己的.py文件放在一起,里边有两个文件:xml2dict.py, object_dict.py,在自己.py文件的开头加上from xml2dict import XML2Dictxml = XML2Dict()r = 阅读全文
posted @ 2013-05-05 19:22 jihite 阅读(9399) 评论(0) 推荐(1)
摘要: 题目:实现一个函数,要求吧字符串中的所有空格替换成“%20”。例如“hello world " ——> ”hello%20world%20"实际背景:在网络编程中,如果URL参数中含有特殊的字符,如空格、'#'等,导致服务器端无法识别时,就把这些特殊的字符转换成可以识别的字符。规则:%加上十六进制的ascii码,例如‘#’的ascii码是0x23(16进制),就替换成%23,看下图地址栏中,输入“hello#hao" 分析:注意:在c语言中存字符串最后一位是认为”\0“的,例如a[] = "12",那么a的长度为3,a[0 阅读全文
posted @ 2013-04-21 23:12 jihite 阅读(7983) 评论(3) 推荐(2)
摘要: 问题:在一个二维数组中,每行的元素从左到右是递增的,每列元素从上到下是递增的。写一个函数,查找一给定的元素是否在此数组中输入:一个二维数组,和一个待查找的数输出:待查找的数在数组中输出“YES",否则输出”NO"原始思路:最简单思路就是暴力搜索,遍历一遍数组中的元素时间复杂度为O(n2)。但是这样就没有用问题的已知条件(从左到右、从上到下递增),因此不是个好的解法改进1:从第一行开始找,找到待查元素大的,如果还没找到,接着从第二行开始找,直到找到或到最后一个元素为止(如图),但是如果带查找的元素在最后,还得遍历到最后,时间复杂度还是O(n2) 改进2:上来在随机在里面挑一个 阅读全文
posted @ 2013-04-21 00:28 jihite 阅读(2463) 评论(0) 推荐(4)
摘要: 问:有人告诉我不能在printf中使用%lf。为什么printf()用%f输出double型,而scanf却用%lf呢?答:printf的%f说明符的确既可以输出float型又可以输出double型。根据“默认参数提升”规则(在printf这样的函数的可变参数列表中,不论作用域内有没有原型,都适用这一规则)float型会被提升为double型。因此printf()只会看到双精度数。参见问题15.2。对于scanf,情况就完全不同了,它接受指针,这里没有类似的类型提升。(通过指针)向float存储和向double存储大不一样,因此,scanf区别%f和%lf。下表列出了printf和scanf对 阅读全文
posted @ 2013-04-20 10:58 jihite 阅读(834) 评论(0) 推荐(0)
摘要: 解法一早在公元前300年,欧几里德就在《几何原本》中给出了高效的辗转相除法。欧几里得辗转相除法是现在算法的鼻祖。算法思路(伪代码)function gcd (a, b) while b ≠ 0 t = b b = a mod b //取余 a = t return a算法证明1. 两个数a、b,用a除以b,得 a = bq + r(q是商 r是余数)。若 r等于0,则b为最大公约数,否则,接着往下走2. 证明一点:任何a和b的公约数都是r的公约数。 证明:假设d为a、b的公约数,则a = md b = nd.r= a - bq = ... 阅读全文
posted @ 2013-04-14 23:45 jihite 阅读(1037) 评论(0) 推荐(1)
上一页 1 ··· 58 59 60 61 62 63 64 65 66 ··· 69 下一页