算法
马红权
从事分析仪器软件开发N年,掌握语言平台无数。
展开
-
庞果最小操作数
A="hit"B="cog"D=["hot","dot","dog","lot","log"]def link(a,b):n=len(a)same=0for i in range(n):if a[i]==b[i]:same+=1if same==n-1:return Trueelse:return Falsesuc=[]path=[]path.append(A)def searchPath(pat原创 2013-07-23 09:18:29 · 688 阅读 · 0 评论 -
编程挑战 分巧克力
做了一道编程挑战题,只允许在校生参加,不知道结果对不对。儿童节快到了,班长想要给班上的每个同学给一个巧克力,巧克力的形状是一个宽为2,长为n的长方形,由于巧克力太贵,班长就想把这个大块的巧克力分成许多1*2(宽*长)的小块巧克力,这样每个人都能得到一份1*2的巧克力,现在给定巧克力的长为正整数n(1def split(n): if n==1: return 1 elif n==原创 2014-01-28 13:05:38 · 1050 阅读 · 0 评论 -
python实现数据结构太Easy
记得原来学数据结构和算法基础,觉得很难,现在用python实现数据结构太Easy。以下是练习的树结构和双向链表结构。#treeclass TreeNode: def __init__(self,value):#value is used here,node is used other places self.parent=None self.val原创 2014-02-23 20:27:05 · 1010 阅读 · 0 评论 -
最少操作次数使两个字符串相等
给定两个字符串,仅由小写字母组成,它们包含了相同字符。 求把第一个字符串变成第二个字符串的最小操作次数,且每次操作只能对第一个字符串中的某个字符移动到此字符串中的开头。 例如给定两个字符串“abcd" "bcad" ,输出:2,因为需要操作2次才能把"abcd"变成“bcad" ,方法是:abcd->cabd->bcad。def getBeforeOrlast(a,c): for i i原创 2014-02-24 11:04:42 · 5516 阅读 · 0 评论 -
报数游戏python 解答
又做了个小题目,报数游戏。题目详情一种报数游戏是从1开始连续报数,如果报到7的倍数(7,14,21,28……)或者包含数字7的数(7,17,27,37……)就用拍手代替这个数而不能报出。假设你连续听到m声拍手,问造成你听到m声拍手的第一下拍手所代表的数是几?例如,你听到了两次连续的拍手,最小的可能这两次拍手是27和28,因此输出27。输入m, 输出这m次连续的拍手第一下所代表的最小可能的数。def原创 2014-02-12 15:25:34 · 3418 阅读 · 0 评论 -
简单博弈树算法(nim游戏)
简单博弈树算法(nim游戏)的python实现。import randomimport treelibtagid=0def gentag(): global tagid tagid+=1 return str(tagid)def next(c): if(c>3): return [c-1,c-2,c-3] elif (c>2): return [c-1,c原创 2014-02-17 09:03:43 · 2252 阅读 · 0 评论