首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >求具有最小均值的子矩阵

求具有最小均值的子矩阵
EN

Code Golf用户
提问于 2017-02-04 11:20:25
回答 7查看 1.3K关注 0票数 21

给你一个n到m的整数矩阵,其中n,m> 3,你的任务是找出平均值最小的3乘3子矩阵,并输出这个值。

规则和澄清:

  • 整数为非负整数。
  • 可选输入和输出格式
  • 输出必须精确到至少两个小数点(如果是非整数)。
  • 子矩阵必须由连续的行和列组成。

测试用例:

代码语言:javascript
复制
35    1    6   26   19   24
 3   32    7   21   23   25
31    9    2   22   27   20
 8   28   33   17   10   15
30    5   34   12   14   16
 4   36   29   13   18   11 

Minimum mean: 14
代码语言:javascript
复制
100    65     2    93
  3    11    31    89
 93    15    95    65
 77    96    72    34

Minimum mean: 46.111
代码语言:javascript
复制
1   1   1   1   1   1   1   1
1   1   1   1   1   1   1   1
1   1   1   1   1   1   1   1
1   1   1   1   1   1   1   1

Minimum mean: 1
代码语言:javascript
复制
4   0   0   5   4
4   5   8   4   1
1   4   9   3   1
0   0   1   3   9
0   3   2   4   8
4   9   5   9   6
1   8   7   2   7
2   1   3   7   9

Minimum mean: 2.2222

这是密码-高尔夫,所以每种语言中最短的代码都会获胜。我鼓励人们用已经使用过的语言发布答案,即使答案不短于第一种语言。

EN

回答 7

Code Golf用户

发布于 2017-02-04 13:41:44

倍频程,30字节

代码语言:javascript
复制
@(A)min(mean(im2col(A,[3,3])))

在网上试试!

票数 12
EN

Code Golf用户

发布于 2017-02-04 12:41:11

倍频程,38字节

代码语言:javascript
复制
@(M)min(conv2(M,ones(3)/9,'valid')(:))
票数 8
EN

Code Golf用户

发布于 2017-02-04 20:18:25

J,21字节

代码语言:javascript
复制
[:<./@,9%~3+/\3+/\"1]

在网上试试!

对J中的子数组进行操作的正确方法是使用第三种(_3)形式的裁剪;.,其中x (u;._3) y的意思是在数组y的大小x的每个完整子数组上应用动词u。使用该解决方案只需要多一个字节,但在较大数组上效率要高得多。

代码语言:javascript
复制
[:<./@,9%~3 3+/@,;._3]

在网上试试!

解释

代码语言:javascript
复制
[:<./@,9%~3+/\3+/\"1]  Input: 2d array M
                    ]  Identity. Get M
                  "1   For each row
              3  \       For each overlapping sublist of size 3
               +/          Reduce by addition
          3  \         For each overlapping 2d array of height 3
           +/            Reduce by addition
       9%~             Divide by 9
[:    ,                Flatten it
  <./@                 Reduce by minimum
票数 3
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/109094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档