チャレンジ:
行列入力が与えられた場合、重複する数値で対角線と対角線の量を決定します。
したがって、次のようなマトリックスがある場合:
[[aa,ab,ac,ad,ae,af],
[ba,bb,bc,bd,be,bf],
[ca,cb,cc,cd,ce,cf],
[da,db,dc,dd,de,df]]
すべての対角線と反対角線は次のようになります。
[[aa],[ab,ba],[ac,bb,ca],[ad,bc,cb,da],[ae,bd,cc,db],[af,be,cd,dc],[bf,ce,dd],[cf,de],[df],
[af],[ae,bf],[ad,be,cf],[ac,bd,ce,df],[ab,bc,cd,de],[aa,bb,cc,dd],[ba,cb,dc],[ca,db],[da]]
例:
[[1,2,1,2,1,2],
[1,2,3,4,5,6],
[6,5,4,3,2,1],
[2,1,2,1,2,1]]
すべての対角線と反対角線は次のようになります。
[[1],[2,1],[1,2,6],[2,3,5,2],[1,4,4,1],[2,5,3,2],[6,2,1],[1,2],[1],
[2],[1,6],[2,5,1],[1,4,2,1],[2,3,3,2],[1,2,4,1],[1,5,2],[6,1],[2]]
一意の数字のみを含むすべての対角線と対角線を削除します。
[[2,3,5,2],[1,4,4,1],[2,5,3,2],[1,4,2,1],[2,3,3,2],[1,2,4,1]]
したがって、出力は、重複した数値を含む対角線と対角線の量です。
6
チャレンジルール:
- 入力行列が空の場合、1つの数値のみを含む場合、または行列全体で一意の数値のみを含む場合、出力は常に
0
です。 - 入力には、正の数字のみが含まれることが保証されます
[1,9]
(完全に空でない限り)。 - マトリックスは常に長方形です(つまり、すべての行は同じ長さです)。
- I / Oは柔軟です。入力は、整数のリストのリスト、整数の2D配列、または文字列などのマトリックスオブジェクトなどとして取得できます。また、追加の入力としてマトリックスの1つまたは両方の次元を使用することもできます。選択した言語でバイトを節約する場合。
一般的なルール:
- これはcode-golfであるため、バイト単位の最短回答が優先されます。
コードゴルフ言語では、非コードゴルフ言語で回答を投稿しないようにしてください。「任意の」プログラミング言語の可能な限り短い答えを考えてみてください。 - デフォルトのI / Oルールを使用した回答には標準ルールが適用されるため、STDIN / STDOUT、関数/メソッド、適切なパラメーターおよび戻り値型、完全なプログラムを使用できます。あなたの電話。
- デフォルトの抜け穴は禁止されています。
- 可能であれば、コードのテスト(TIOなど)へのリンクを追加してください。
- また、回答の説明を追加することを強くお勧めします。
テストケース:
Input: Output:
[[1,2,1,2,1,2], 6
[1,2,3,4,5,6],
[6,5,4,3,2,1],
[2,1,2,1,2,1]]
[[]] 0
[[1,2], 0
[3,4]]
[[1,1], 2
[1,1]]
[[9,9,9], 6
[9,9,9],
[9,9,9]]
[[7,7,7,7], 8
[7,7,7,7],
[7,7,7,7]]
[[1,1,1], 1
[2,3,4],
[2,5,1]]
[[1,8,4,2,9,4,4,4], 12
[5,1,2,7,7,4,2,3],
[1,4,5,2,4,2,3,8],
[8,5,4,2,3,4,1,5]]
[[1,2,3,4], 4
[5,6,6,7],
[8,6,6,9],
[8,7,6,5]]
row
し、col
「極めて状況機能」の私のリストに。本当に賢い解決策。