您的位置:首页 > 其它

给定一个正整数数组,找所有元素组合起来最大的值(答案)

2015-06-01 22:12 429 查看
class MaxNumber(object):
def __init__(self, intlst):
self.lst = intlst
self.ilen = len(self.lst)
self.result = []
self.max_number = 0

def addlst(self, intlist):
clst = [str(i) for i in intlist]
return int("".join(clst))

def presult(self):
for i in self.result: print i
print self.max_number

def f(self, offset):
if offset == ilen-1:
if self.addlst(lst) > self.max_number:
self.max_number = self.addlst(lst)
self.result.append(self.lst[:])
return
for i in xrange(offset, self.ilen):
lst[i], lst[offset] = lst[offset], lst[i]
self.f(offset + 1)
lst[i], lst[offset] = lst[offset], lst[i]

lst = [9, 3, 32, 46, 50]
imax = MaxNumber(lst)
imax.f(0)
imax.presult()

[/code]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: