Sie erhalten eine n-mal-m- Matrix von ganzen Zahlen, wobei n, m> 3 ist . Ihre Aufgabe ist es, die 3-mal-3 -Submatrix mit dem niedrigsten Mittelwert zu finden und diesen Wert auszugeben.
Regeln und Erläuterungen:
- Die ganzen Zahlen sind nicht negativ
- Optionales Eingabe- und Ausgabeformat
- Die Ausgabe muss bis auf mindestens 2 Dezimalpunkte genau sein (wenn es sich um eine nicht ganzzahlige Zahl handelt)
- Die Submatrizen können aus beliebigen Spalten und Zeilen bestehen
Testfälle:
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
Antworten:
Mathematica,
7750 Bytes
ist der Transpositionsoperator von Mathematica (und wird in Mathematica als hochgestelltes T gerendert).Diese Antwort definiert zuerst einen Hilfsoperator,
±
der alle 3-Element-Teilmengen einer Liste zurückgibt und dann zu einer unbenannten Funktion ausgewertet wird, die diesen Operator zur Lösung des Problems verwendet.Dazu werden zunächst alle 3-Element-Teilmengen der Zeilen der Matrix berechnet. Dann transponieren wir für jede solche Teilmenge diese und berechnen ihre 3-Element-Teilmenge von Zeilen. Dies gibt uns alle möglichen 3x3 Submatrizen (obwohl sie transponiert sind). Wir berechnen dann den Mittelwert für alle von ihnen und finden das Gesamtminimum.
quelle
Jelly ,
1512 BytesProbieren Sie es online!
Wie es funktioniert
quelle
œc3S€µ⁺€FṂ÷9
ist, was ich habe ... EDIT - hah und einfach so machst du das gleiche: D9
durch Teilen durch3
innerhalb der wiederholten Kette loszuwerden , aber ist es möglich,3
das richtige Argument zu finden, so dass es in 11 möglich ist?⁺
), und innerhalb der Kette müssen Sie entweder3
explizit angeben oder es mit gruppieren÷
.05AB1E ,
2116 BytesProbieren Sie es online!
Erläuterung
quelle
Haskell , 90 Bytes
Probieren Sie es online!
quelle
concatMap t
kann verkürzt werden auf(>>=t)
Bean , 198 Bytes
Hexdump:
Entsprechendes JavaScript:
Probieren Sie die Demo hier aus
quelle