假设两个不同大小的数组:
N0 =: i. 50
N1 =: i. 500
应该有一种方法可以获得唯一的对,只需将两者结合起来即可。我发现的“最简单”是:
]$R =: |:,"2 |: (,.N0) ,"1 0/ N1
25000 2
坦率地说,这是一个屁股丑陋的棒球棒解决方案。有没有更优雅的方法来做到这一点?
最佳答案
您要获取的数据模式是 Catalogue. 的变体事实上,这是最著名的变体:笛卡尔积。
在目录的词汇列表中还有笛卡尔积的代码。要获得您想要的列表,只需整理并打开结果即可。
pair=: >@ ,@ { @(,&<)
$ N0 pair N1
25000 2
关于j - J 中唯一的不等数组对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13403459/