Chinaunix首页 | 论坛 | 博客
  • 博客访问: 547221
  • 博文数量: 142
  • 博客积分: 2966
  • 博客等级: 少校
  • 技术积分: 1477
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-07 22:37
文章分类

全部博文(142)

文章存档

2013年(3)

2012年(21)

2011年(53)

2010年(33)

2009年(32)

分类: Python/Ruby

2011-03-10 15:12:52

题目为:

有两个序列a,b,大小都为n,序列元素的值任意整形数,无序;
要求:通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小

 

  1. #!/usr/bin/python
  2. #coding=utf-8
  3. ######Author: Yao######
  4. a = [1,10,20,22,23]
  5. b = [5,3,13,4,111]
  6. c = a + b
  7. c.sort()
  8. print c
  9. x = []
  10. y = []
  11. x.append(c.pop())
  12. y.append(c.pop())
  13. while len(x) <len(a) and len(y) < len(b):
  14.     if sum(x) > sum(y) and c:
  15.         y.append(c.pop())
  16.     else:
  17.         x.append(c.pop())
  18. if len(x)==len(a):
  19.     print x,y+c
  20. else:
  21.     print x+c,y
阅读(715) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~