Python|神奇宝贝训练游戏
问题 :
你是一名神奇宝贝训练师。每个神奇宝贝都有自己的力量,用正整数值描述。旅行时,您会观看神奇宝贝并抓住它们。每次捕获后,您必须显示到目前为止捕获的神奇宝贝的最大和最小力量。您必须具有线性时间复杂度。所以排序在这里没有帮助。尝试具有最小的额外空间复杂度。
例子:
假设你捕捉到力量为 3 8 9 7 的神奇宝贝。那么输出应该是
3 3
3 8
3 9
3 9
Input :
The single line describing powers of N Pokémon caught.
Output :
N lines stating minimum power so far and maximum power
so far separated by single space
代码:实现口袋妖怪训练游戏的Python代码
# python code to train pokemon
powers = [3, 8, 9, 7]
mini, maxi = 0, 0
for power in powers:
if mini == 0 and maxi == 0:
mini, maxi = powers[0], powers[0]
print(mini, maxi)
else:
mini = min(mini, power)
maxi = max(maxi, power)
print(mini, maxi)
# Time Complexity is O(N) with Space Complexity O(1)
输出 :
3 3
3 8
3 9
3 9