Javascript在数组上编程

时间:2016-04-01 11:30:00

标签: javascript arrays algorithm

问题是:

你住在Cartesia市,所有道路都铺设在一个完美的网格中。

你提前十分钟到达预约,所以你决定借此机会去散步。

该市为其市民提供手机上的Walk Generating App。

每次按下按钮,它会向您发送一个单字母字符串数组,表示行走方向

Test case: [n,n,n,s,n,s,n,s,n,s] is true

你知道你需要花一分钟来穿越一个城市街区,所以创建一个函数,如果应用程序给你带来的步行将会返回true,你将需要十分钟(你不想早或晚!)当然,会让你回到起点。否则返回false。

window.print()

我很难理解如何确保这个人达到他的起点。

我知道它必须是一个简单的最短路径数学。

但我真的没有让起点达到逻辑。

请帮忙。

2 个答案:

答案 0 :(得分:4)

计算每个字符的数量。数量为' n'必须等于' s的数量。以及' e'必须等于' w'总和必须是10。

这个例子是错误的,因为最后你在起点以北2个街区,所以答案应该是假的。

答案 1 :(得分:0)

这可能会有所帮助

    function isValidWalk(walk) {
        let n = walk.filter(a => a =='n').length;
        let s = walk.filter(a => a=='s').length;
        let w = walk.filter(a => a=='w').length;
        let e = walk.filter(a => a=='e').length;

        return walk.length == 10 && n == s && w == e

    }