文章分类 - 数据结构与算法
摘要:WIKI讲鸭子类型 已经很清晰了,我接触这个概念是在看雨痕大神的《Go语言学习笔记》一书得来的,作者再讲Golang的接口类型说就是Duck type。 图片来源:嘎嘎叫的小狗——快乐的鸭子类型 如下代码实现go的接口 package main import ( "fmt" ) type User 
        阅读全文
                
摘要:Python 猴子补丁 13 Jun 2015 我们知道Python是动态类型的编程语言,当我们在定义类后对类或实例的操作往往可以动态改变它,如下: 像这样在动态语言中,不去改变源码而对功能进行追加和变更就叫做Monkey Patching(猴子补丁),实现这个得益于: 动态类型的特性 Python
        阅读全文
                
摘要:>>> def func(a,b): ... print a,b ... >>> class Foo(object): ... pass ... >>> foo = Foo() >>> foo.func(4) Traceback (most recent call last): File "<inp
        阅读全文
                
摘要:属性在运行时的动态替换,叫做猴子补丁(Monkey Patch)。 为什么叫猴子补丁 属性的运行时替换和猴子也没什么关系,关于猴子补丁的由来网上查到两种说法: 1,这个词原来为Guerrilla Patch,杂牌军、游击队,说明这部分不是原装的,在英文里guerilla发音和gorllia(猩猩)相
        阅读全文
                
摘要:monkey patch (猴子补丁) 用来在运行时动态修改已有的代码,而不需要修改原始代码。 简单的monkey patch 实现:[python] #coding=utf-8 def originalFunc(): print 'this is original function!' def m
        阅读全文
                
摘要:1.gevent模块简介 gevent是一个基于libev的并发库。它为各种并发和网络相关的任务提供了整洁的API。 gevent中用到的主要模式是greenlet,它是以C扩展模块形式接入Python的轻量级协程。 greenlet全部运行在主程序操作系统进程的内部,但它们被协作式地调度。 2.g
        阅读全文
                
摘要:阅读目录 给类打补丁 给类实例打补丁 总结 相信很多朋友在编程的时候都会想修改一下已经写好的程序行为代码,而最常见的方式就是通过子类来重写父类的一些不满足需求的方法。比如说下面这个例子。 class Dog: def bark(self): print 'Woof!' class Husky(Dog
        阅读全文
                
摘要:方法添加 class Fruit(object): pass def add(self): print "grow" if __name__ == "__main__" Fruit.grow = add fruit = Fruit() fruit.grow() 方法更新 class Fruit(ob
        阅读全文
                
摘要:这是Python解释器简介的第四部分。阅读第一部分、第二部分和第三部分。如果你喜欢这个系列的话,那就把它分享到Hacker School吧。我是那里的管理员。 当我开始研究python内部工作的时候,我一直很困惑为什么能够进行“编译”的python还是“动态语言”。通常,我们都将这两个词作为一对反义
        阅读全文
                
摘要:python 动态语言特性 A.动态模块调用 如果模块是动态的, 如从某个配置文件中读取. 那么关于模块的字符串如何转换为代码的import呢, 下面代码很好解释了这一点 例子1 1 sys = __import__('sys') 2 os = __import__('os') 3 re = __i
        阅读全文
                
摘要:Python有一些定制类的特殊方法,如__str__()、__iter__()、__getitem__(),其中一些具有动态特性的方法可以用来很方便地处理某些动态状况。 Duck-typing When I see a bird that walks like a duck and swims li
        阅读全文
                
摘要:[cpp] view plain copy [cpp] view plain copy 我感觉用递归的备忘录写法好写多了。
        阅读全文
                
摘要:#include <iostream> #include <string> #define Max 100 using namespace std; //最长公共子字符串,递归的备忘录写法 int c[Max][Max]; string s1,s2; int fun(int i,int j) { i
        阅读全文
                
摘要:虽是读书笔记,但是如转载请注明出处 http://segmentfault.com/blog/exploring/.. 拒绝伸手复制党 本章讲解:1. LCS(最长公共子序列)O(n^2)的时间复杂度,O(n^2)的空间复杂度;2. 与之类似但不同的最长公共子串方法。最长公共子串用动态规划可实现O(
        阅读全文
                
摘要:最长公共子序列问题 输入 第1行:字符串A 第2行:字符串B (A,B的长度 <= 1000) 输出 输出最长的子序列,如果有多个,随意输出1个。 输入示例 abcicba abdkscab 输出示例 abca 请选取你熟悉的语言,并在下面的代码框中完成你的程序,注意数据范围,最终结果会造成Int3
        阅读全文
                
摘要:问题描述: 最长公共子序列也称作最长公共子串(不要求连续),英文缩写为LCS(Longest Common Subsequence)。其定义是,一个序列 S ,如果分别是两个或多个已知序列的子序列,且是所有符合此条件序列中最长的,则 S 称为已知序列的最长公共子序列。 例如:X(A,B,C,B,D,
        阅读全文
                
摘要:#include<iostream> #include<string> #include<math.h> using namespace std; string a1,a2; int f(string a,string b) { if(a.length()==0||b.length()==0)ret
        阅读全文
                
摘要:最长公共子序列求解:递归与动态规划方法 在做OJ题目的时候,经常会用到字符串的处理。例如,比较二个字符串相似度。这篇文章介绍一下求两个字符串的最长公共子序列。 一个字符串的子序列,是指从该字符串中去掉任意多个字符后剩下的字符在不改变顺序的情况下组成的新字符串。 最长公共子序列,是指多个字符串可具有的
        阅读全文
                
摘要:在做OJ题目的时候,经常会用到字符串的处理。例如,比较二个字符串相似度。这篇文章介绍一下求两个字符串的最长公共子序列。 一个字符串的子序列,是指从该字符串中去掉任意多个字符后剩下的字符在不改变顺序的情况下组成的新字符串。 最长公共子序列,是指多个字符串可具有的长度最大的公共的子序列。 (1)递归方法
        阅读全文
                
摘要:最大子序列 最大子序列是要找出由数组成的一维数组中和最大的连续子序列。比如{5,-3,4,2}的最大子序列就是 {5,-3,4,2},它的和是8,达到最大;而 {5,-6,4,2}的最大子序列是{4,2},它的和是6。你已经看出来了,找最大子序列的方法很简单,只要前i项的和还没有小于0那么子序列就一
        阅读全文
                
 
                    
                     
                    
                 
                    
                
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号