サイズの異なる 2 つの配列があるとします。
N0 =: i. 50
N1 =: i. 500
一意のペアを取得する方法があるはずです。2 つを組み合わせるだけです。私が見つけた「最も簡単な」ものは次のとおりです。
]$R =: |:,"2 |: (,.N0) ,"1 0/ N1
25000 2
率直に言って、これはお尻の醜い野球バットのソリューションです。これを行うよりエレガントな方法はありますか?
サイズの異なる 2 つの配列があるとします。
N0 =: i. 50
N1 =: i. 500
一意のペアを取得する方法があるはずです。2 つを組み合わせるだけです。私が見つけた「最も簡単な」ものは次のとおりです。
]$R =: |:,"2 |: (,.N0) ,"1 0/ N1
25000 2
率直に言って、これはお尻の醜い野球バットのソリューションです。これを行うよりエレガントな方法はありますか?
到達しているデータのパターンは、カタログのバリエーションです。実際、これは最も有名なバリエーションです: デカルト積です。
カタログの語彙リストには、デカルト積のコードもあります。必要なリストを取得するには、結果を解きほぐして開くだけです。
pair=: >@ ,@ { @(,&<)
$ N0 pair N1
25000 2
私は同じものを探しています。
私は、より短いがきれいではない次のものだけを思いついた:
,/(N0 ,. ])"0 N1
;(N0 ,. ]) &.> N1
または次の形式で:
;N0&,.&.>N1