You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用J语言查找二进制矩阵中1的4邻域的更精简实现方案

最优精简实现

比你原有写法短5个字符,功能完全一致:

+/+/(4 2$1 0 _1 0 0 1 0 _1)&|.M

如果需要严格输出你示例中的01邻域标记矩阵,只需要多3个字符:

0<+/+/(4 2$1 0 _1 0 0 1 0 _1)&|.M

优化说明

你原有写法中构造4邻域偏移矩阵的|:i:1*(2 2)$1 0 0 1可以直接替换为4 2$1 0 _1 0 0 1 0 _1,直接硬编码4个4邻域的偏移量,省去了矩阵乘法、转置、2x2单位矩阵构造的冗余步骤,字符数更少,执行效率也更高。

如果需要避免矩阵边缘移位绕回的问题,给移位操作加补0修饰符即可:

+/+/(4 2$1 0 _1 0 0 1 0 _1)&|.!.0 M

内容的提问来源于stack exchange,提问作者N Matteson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 16:15:06