田忌赛马贪心算法 python
时间: 2023-11-20 08:58:33 浏览: 293
田忌赛马问题是一个经典的贪心算法问题。下面是Python实现田忌赛马贪心算法的代码:
```python
def tianji_race_horses(tianji, qiwei):
tianji.sort()
qiwei.sort()
tianji_win = 0
tianji_lose = 0
while tianji and qiwei:
if tianji[-1] > qiwei[-1]:
tianji_win += 1
tianji.pop()
qiwei.pop()
else:
tianji_lose += 1
tianji.pop(0)
qiwei.pop()
return tianji_win - tianji_lose
```
该函数接受两个列表`tianji`和`qiwei`,分别表示田忌和齐威王的马的速度。函数首先将两个列表按照马的速度从小到大排序。然后,使用两个变量`tianji_win`和`tianji_lose`分别记录田忌赢的场次和输的场次。接下来,使用一个while循环,每次比较田忌和齐威王的最快的马的速度,如果田忌的最快的马的速度比齐威王的最快的马的速度快,那么田忌就派出最快的马,否则田忌就派出最慢的马。如果田忌赢了,那么`tianji_win`加1,否则`tianji_lose`加1。最后,函数返回田忌赢的场次减去输的场次。
阅读全文
相关推荐












