首页 > 代码库 > python小算法

python小算法

1.长度为m的字符串a,长度为n的字符串b,(m>n) 判断b中的字母是否全在a中? O(n)最小.class Num(object):  def getNum(self, m):    numList = filter(lambda x: not [x%i for i in range(2,x) if x%i==0], range(2,500))    return numList[0:m]  def getSizeDict(self, string):    numList = self.getNum(len(string))    strDict = {}    for s in set(string):      strDict[s] = numList[0]      del numList[0]    return strDict  def getDiff(self, string, string2):      j = 1      flag = 1      strDict = self.getSizeDict(string)      numList =self.getNum(len(string))      for i in numList:        j*=i      for s in string2:        try:          d = strDict[s]        except:          flag = 0          break       return flagif __name__ == ‘__main__‘:  string = raw_input(‘string:‘)
string2 = raw_input(‘another:‘)  main = Num()  num = main.getDiff(string,string2)  print num == 1 and ‘yes‘ or ‘no‘