如何实现删除数组中的对的方法

grumpee23

我正在解决一个问题,该问题要求我删除字符串数组中的“对”(南北和东西对)。我不确定在Python上解决此问题的方法。

这是问题所在:

编写一个函数dirReduc,该函数将获取一个字符串数组并返回一个字符串数组,其中删除了不必要的方向(W <-> E或S <-> N并排)。(链接到问题:https : //www.codewars.com/kata/550f22f4d758534c1100025a

一些测试输入和输出:

Input  : ["NORTH", "SOUTH", "SOUTH", "EAST", "WEST", "NORTH", "WEST"]
Output : ["WEST"]

Input  : ["NORTH", "WEST", "SOUTH", "EAST"]
Output : ["NORTH", "WEST", "SOUTH", "EAST"]

第二组输入和输出对任务没有多大意义。我最初的想法是使用堆栈,但是现在我不确定该怎么做。

罗比·科尼利森(Robby Cornelissen)

一个简单的实现可以只使用字典来定义相反的方向。处理列表时,如果当前方向与最后一个方向相反,请从输出中删除最后一个方向。否则,将新方向添加到列表中:

dirs = {'NORTH': 'SOUTH', 'SOUTH': 'NORTH', 'EAST': 'WEST', 'WEST': 'EAST'}

def dirReduc(input):
    output = []

    for dir in input:
        if output and output[-1] == dirs[dir]:
            output.pop()
        else:
            output.append(dir)

    return output

print(dirReduc(["NORTH", "SOUTH", "SOUTH", "EAST", "WEST", "NORTH", "WEST"]))
print(dirReduc(["NORTH", "WEST", "SOUTH", "EAST"]))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何删除数组中的[“”]?

来自分类Dev

如何删除数组中的项目?

来自分类Dev

如何从集合中删除数组?

来自分类Dev

如何从子数组中删除数据?

来自分类Dev

如何删除数组值中的空间?

来自分类Dev

如何从Mongodb中删除数组元素

来自分类Dev

如何删除数组中对象的键

来自分类Dev

如何从集合中删除数组?

来自分类Dev

如何删除数组元素中的空格?

来自分类Dev

如何删除数组中的值?

来自分类Dev

PHP如何删除数组中的值

来自分类Dev

如何从 Laravel 的会话中删除数组

来自分类Dev

如何删除数组中的重复项?

来自分类Dev

如何实现添加和删除数组元素?

来自分类Dev

如何在mongoDB中删除数组中的数组?

来自分类Dev

如何在JavaScript中从多维数组中删除数组?

来自分类Dev

如何删除数组并在php中创建新数组

来自分类Dev

如何从包含多个数组的对象中删除数组

来自分类Dev

如何删除数组对象中数组内部的项目?javascript

来自分类Dev

如何使用Javascript从数组中删除数组?

来自分类Dev

Sprite Kit在-Update方法中删除数组中的SKSpriteNodes

来自分类Dev

如何在Ruby中删除数组中的引号

来自分类Dev

如何使用$ pull在mongodb中删除数组中的文档

来自分类Dev

如何从jQuery中的表中删除数组值

来自分类Dev

如何在RethinkDB中删除数组中的特定对象

来自分类Dev

如何从firebase中删除数组中的项目之前的“快照”

来自分类Dev

如何删除数组编号

来自分类Dev

从数组中删除数字

来自分类Dev

删除数组中的目录