On vous donne une matrice n-par-m d'entiers, où n, m> 3 . Votre tâche consiste à trouver la sous-matrice 3 x 3 qui a la moyenne la plus faible et à sortir cette valeur.
Règles et clarifications:
- Les entiers seront non négatifs
- Format d'entrée et de sortie en option
- La sortie doit être précise jusqu'à au moins 2 décimales (si elle n'est pas entière)
- Les sous-matrices peuvent être constituées de colonnes et de lignes arbitraires
Cas de test:
1 0 4 0 1 0
1 0 4 0 1 0
4 3 4 3 4 3
1 0 4 0 1 0
Minimum mean: 0 (We have chosen columns 2,4,6 and rows 1,2,4 (1-indexed)
-----------------------------
4 8 9 7
5 10 1 5
8 5 2 4
8 3 5 10
6 6 3 4
Minimum mean: 4.2222
-----------------------------
1 0 0 0 0
0 2 0 0 0
0 0 3 0 0
0 0 0 4 0
0 0 0 0 5
Minimum mean: 0.11111
-----------------------------
371 565 361 625 879 504 113 104
943 544 157 799 726 832 228 405
743 114 171 506 943 181 823 454
503 410 333 735 554 227 423 662
629 439 191 707 52 751 506 924
Minimum mean: 309.56
Réponses:
Mathematica,
7750 octets
est l'opérateur de transposition de Mathematica (et est rendu en exposant T dans Mathematica).Cette réponse définit d'abord un opérateur d'assistance
±
qui renvoie tous les sous-ensembles à 3 éléments d'une liste, puis évalue une fonction sans nom qui utilise cet opérateur pour résoudre le problème.Cela se fait en calculant d'abord tous les sous-ensembles à 3 éléments des lignes de la matrice. Ensuite, pour chacun de ces sous-ensembles, nous le transposons et calculons son sous-ensemble de lignes à 3 éléments. Cela nous donne toutes les sous-matrices 3x3 possibles (bien qu'elles soient transposées). Nous calculons ensuite la moyenne sur chacun d'eux et trouvons le minimum global.
la source
Gelée ,
1512 octetsEssayez-le en ligne!
Comment ça fonctionne
la source
œc3S€µ⁺€FṂ÷9
c'est ce que j'ai ... EDIT - hah et juste comme ça vous faites la même chose: D9
en divisant par l'3
intérieur de la chaîne répétée, mais est-il possible d'obtenir3
comme le bon argument tel qu'il est possible en 11?⁺
), et à l'intérieur de la chaîne, vous devez soit le spécifier3
explicitement, soit le grouper÷
.05AB1E ,
2116 octetsEssayez-le en ligne!
Explication
la source
Haskell , 90 octets
Essayez-le en ligne!
la source
concatMap t
peut être raccourci à(>>=t)
Bean , 198 octets
Hexdump:
JavaScript équivalent:
Essayez la démo ici
la source