返回

编程之战

首页
关灯
护眼
字体:
第六十三章 动物园的灾难
   存书签 书架管理 返回目录
物们所处相对位置的列表:”

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

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

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

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

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

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

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

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

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

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

    所以,整个过程按照先后顺序,一共记录了三次“吃掉”事件。

    1狮子吃羚羊

    2熊吃小鸡

    3熊吃奶牛

    等到杨成写完这个功能,他不由得长吁一口气,擦了把汗。

    “这

第六十三章 动物园的灾难(2/3)
上一页 目录 下一页