返回

编程之战

首页
关灯
护眼
字体:
大
中
小
第六十三章 动物园的灾难
肉动物之间通常情况下不会争斗”,工作人员解说道。

    “食草动物自然是会和睦相处”。

    “下面是动物们所处相对位置的列表:”

    [“lion”,”antelope”,”bear”,”chicken”,”w”]

    “你必须从左到右扫描,并且记录下哪些动物吃掉了相邻的其它动物”。

    “好的”,杨成拿到这个问题就感觉很轻松。

    这个算法将反复地从列表左侧向右侧扫描,一旦发现了食肉动物,就检测该动物的左右两边(相邻)是否有食草动物,如果有,就记录这次“吃掉”事件,并且从列表中移除该食草动物,如果没有发现目标,就跳到下一个食肉动物,继续检测相邻动物。这个扫描过程将持续到,整个遍历都没有发生“吃掉”事件为之,算法结束。

    首先,lion(狮子)发现了antelope(羚羊),把它吃掉。

    然后,lion(狮子)发现了bear(熊),两强相争,必有一伤,所以打不起来。

    接着,bear(熊)发现了chicken(鸡),把它吃掉,从列表移除。

    然后,又从lion(狮子)开始,它发现了老对头bear(熊),直接略过。

    bear(熊)发现有一头奶牛(w)在附近,把它吃掉。

    最后又从lion(狮子)开始,此时除了狮子就只有熊,再也没有“吃掉”事件,算法结束。

第六十三章 动物园的灾难(2/3)