J:列表项之间的符号更改次数

时间:2014-11-02 08:21:08

标签: arrays list j tacit-programming list-manipulation

a的项目为_11

a =: 1 _1 _1 1 _1

a中有3个符号更改:

1, -1, -1, 1, -1
  Λ       Λ  Λ
 here   and here

如何无限地计算它们?

2 个答案:

答案 0 :(得分:5)

您将它们与2 v\配对,检查它们是否有所不同~:/和总和+/

+/ 2 ~:/\ a
3

2 ~:/\ 1 1 1 _1 _1 _1 1 _1 1
0 0 1 0 0 1 1 1

+/2 ~:/\ 1 1 1 _1 _1 _1 1 _1 1
4

修改

或者你可以将}:的缩减}.a的{​​{1}}排成一行并进行比较,但效率明显降低。

+/(}: ~: }.) a

答案 1 :(得分:1)

如果数字可以不是1和_1,

  2 ~:&*/\ _2 4 3 _1 _3 1
1 0 1 0 1