我有一个这样的数组:计数出现在阵列
a= ["foo", "bar", "baz", "foo", "bar", "baz", "foo", "bar", "BAD," "baz"]
,你可以看到,有一个数组中的重复图案:
"foo", "bar", "baz"
,直到最后一个模式它的模式是“坏”。
我想一个方法来寻找模式的最后出现的“‘富’,‘酒吧’,‘巴兹’”因为我只在不遵循模式的最后元素感兴趣。
我期望返回是这样的
array_after_some_method(a) => ["foo", "bar", "BAD", "baz"]
我的思维过程是做这样的事情:在模式
- 转阵成字符串
- 分裂
- 计数出现次数
"bar"
但是,这个过程似乎很hacky。有没有一个聪明的方法来做到这一点?
什么是**模式**?它是由人定义还是由程序本身解决? “巴兹”本身就是一种模式吗?如果不是,为什么'[“foo”,“bar”,“bar”,“baz”]'是? – Aetherus
你的问题不清楚,但似乎有趣。您需要通过编辑进行澄清,否则您可能需要更多的投票,然后关闭。最好用文字给出一个完整而明确的问题陈述,但是如果你发现这个问题至少难以举一些例子。使示例尽可能短,显示所需的结果(数字,字符串,数组,散列值,打印值等),并为每个输入对象分配一个变量(如您对'a = [“foo”所做的那样)。 ..'),这样读者就可以在答案和评论中引用这些变量,而不必定义它们。 –
感谢cary ---我现在要编辑。 – user1337902