タグ付けされた質問 「matrix」

行列は、行と列を持つ長方形に配置された数値のリストです。プログラミングでは、2Dアレイとも呼ばれます。マトリックスの操作に関する課題の場合は、このタグを使用してください。

3
山の指輪はありますか?
チャレンジ 正の整数の行列が与えられた場合、山の「リング」があるかどうかを判断します。このチャレンジの正式な定義は次のとおりです。正の整数のマトリックスが与えられた場合n、マトリックスn内のセルの閉じたリングがあり、そのリングに囲まれたすべてのセルが以下であるような厳密に大きい正の整数がありますへn。 真実の例を見てみましょう: 3 4 5 3 3 1 2 3 4 2 1 3 4 3 6 5 に設定nした場合2: 1 1 1 1 1 0 0 1 1 0 0 1 1 1 1 1 はっきりとわかるよう1に、エッジに沿ったsはリングを形成しています。 リングは、コレクション内の隣接するセルもグリッド上で隣接している(エッジまたはコーナー)セルの順序付けられたコレクションとして定義します。さらに、リングには少なくとも1つのセルが含まれている必要があります。つまり、コレクション内のセルを除くマトリックス全体をエッジのみのBFSフラッディングで埋めようとして、コレクション内のセルを走査しないようにするには、少なくとも1つのセルを逃す必要があります。 真実のテストケース 4 7 6 5 8 -> 1 1 1 1 1 …

14
与えられたサイズのすべての正方形部分行列を生成します
整数Mの正方行列と、Mのサイズより厳密に小さい別の正の整数nが与えられます。あなたの仕事は、サイズnのMのすべての正方形部分行列を生成することです。 この課題のために、正方形のサブマトリックスはMに含まれる隣接する行と列のグループです。 入力/出力フォーマット 他の合理的な形式を自由に選択できます。これらはほんの一例です。 入力 ネイティブマトリックスタイプのマトリックス(言語にマトリックスがある場合) 2D配列(それぞれが1行/ 1列に対応する1D配列の配列) 1D配列(行列は常に正方形であるため) 文字列(スペースを選択しましたが、これを悪用しないでください)など 出力 マトリックスのマトリックス。 各要素(3Dリスト)が行/列の部分行列を表す4D配列。 3D配列。各要素(2Dリスト)はサブマトリックスを表します。 結果の部分行列などの文字列表現。 スペック 入力としてMのサイズを選択することもできます。少なくとも2であることが保証されています。 出力の方向は任意です。サブマトリックスを列のリストまたは行のリストとして出力することを選択できますが、選択は一貫している必要があります。 デフォルトではこれらの抜け穴が禁止されていることに注意しながら、任意のプログラミング言語で競争し、標準的な方法で入力を取得し、出力を提供できます。 これはcode-golfであるため、すべての言語の最短の送信(バイト単位)が優先されます。 例 与えられたN = 3とM: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 可能な3x3部分行列は次のとおりです。 + ------- + + -------- + 1 2 3 …

7
子供のアルファベットマットは色別に適切にグループ化されていますか?
私の子供には、次のようなアルファベットマットがあります。 数か月後、マットのタイルをランダムに配置した後、疲れて、背景色に応じてセクションごとにグループ化されたマットのタイルをすべて配置しました。したがって、文字が背景色を表す場合、次のようなマットができました。 AABBCDDDE ABBCCCDEE ABCCCCDDE AACCCDDEE AAAACCCCE AAAAAACCC したがって、A、B、C、D、およびEの色については、マット内のすべてのタイルを同じ背景色で水平または垂直に接続する方法が常にあります。それは私が色によって適切にグループ化されたマットと呼ぶものです。次の表で、前の例のグループを確認できます。 AA A A AA AAAA AAAAAA BB BB B C CCC CCCC CCC CCCC CCC DDD D DD DD E EE E EE E また、すべての色に対して1つのグループしかないため、これは無効です。 ABA ABA カラーAタイルは1つのグループのみにグループ化されていないためです。また、タイルは水平または垂直に接続しないため、これも無効になります。 AB BA チャレンジ 印刷可能なASCII範囲の文字の2次元配列(両方の次元のサイズが1以上である限り正方形である必要はありません)が与えられている場合、配列が色で適切にグループ化されたマットを表すかどうかを確認します(配列内の異なる文字はそれぞれ異なる色を表します)。入力は、文字の2次元配列(2D char配列、同じ長さの文字列の配列など)を表す限り、任意の妥当な形式であり、出力は、真偽値と偽値(0 / 1、 't' / 'f'、true / false、何かが返され、戻り値が入力間で一貫している限り)。 これはコードゴルフなので、各言語の最短のプログラム/関数/メソッド/ラムダが勝つかもしれません! …

11
大文字と小文字の一致検索
3つの入力、テキストの文字列T、置換する文字列、F; そして、それらを置き換える文字列R。Tと同じ(大文字と小文字を区別しない)文字を持つの各部分文字列について、の文字でF置き換えますR。ただし、元のテキストと同じ大文字小文字を使用してください。 より多くの文字が含まれているR場合F、余分な文字は大文字と小文字を区別する必要がありRます。に数字または記号がFある場合、対応する文字はRの大文字小文字を保持する必要がありRます。Fに表示されるとは限りませんT。 すべてのテキストが印刷可能なASCII範囲にあると想定できます。 例 "Text input", "text", "test" -> "Test input" "tHiS Is a PiEcE oF tExT", "is", "abcde" -> "tHaBcde Abcde a PiEcE oF tExT" "The birch canoe slid on the smooth planks", "o", " OH MY " -> "The birch can OH MY e slid OH MY …
14 code-golf  string  code-golf  string  ascii-art  alphabet  code-golf  number  sequence  counting  code-golf  sequence  counting  code-golf  quine  source-layout  code-golf  string  code-golf  decision-problem  game  code-golf  string  quine  source-layout  subsequence  code-golf  quine  code-golf  array-manipulation  integer  code-golf  ascii-art  code-golf  sequence  integer  code-golf  kolmogorov-complexity  code-golf  array-manipulation  integer  code-golf  number  array-manipulation  integer  code-golf  string  number  integer  code-golf  string  ascii-art  code-challenge  test-battery  expression-building  source-layout  printable-ascii  code-bowling  code-golf  number  code-golf  number  string  binary  code-golf  matrix  conversion  code-golf  number  arithmetic 

23
行列ベクトルを計算する
少なくとも2つの要素の整数配列を指定して、配列のMatrix-Vector(以下で定義)を出力します。 Matrix-Vectorを計算するには、最初nにsize - input配列を回転させて、サイズの行列を作成しますn x n。配列の最初の要素は主対角線に続きます。これにより、マトリックス部分が形成されます。ベクトルの場合、入力配列を垂直に反転します。次に、通常の行列乗算を実行します。出力ベクトルは結果です。 例えば、 a = [1, 2, 3] まず、配列を右に2回回転して、とを取得[3, 1, 2]し[2, 3, 1]、次にそれらをスタックして3x3行列を形成します [[1, 2, 3] [3, 1, 2] [2, 3, 1]] 次に、配列を垂直に反転させてベクトルを形成します [[1, 2, 3] [[1] [3, 1, 2] x [2] [2, 3, 1]] [3]] 通常の行列乗算を実行する [[1, 2, 3] [[1] [[1+4+9] [[14] [3, 1, 2] …

9
パーツごとのリストと配列
この課題では、特定の方法で解決する必要がある4つの異なるが多少関連するタスクを取得します。最初にタスクを説明し、次にそれを解決する方法の説明に従います。 コードでは、4つのタスクすべてに対して、入力として2つの正の整数を使用する必要n,mがありn<mます。すべてのタスクは同じ言語で解決する必要があります。行列の方向はオプションです(n行m列は、「n行、m列」または「n列、m行」と解釈される場合があります)。 タスク1: 要素で構成されるベクトル/リストを作成(および出力/印刷)しますn, n+1 ... m-1, m。したがって、の場合n=4, m=9、次のように出力する必要があります4,5,6,7,8,9。 タスク2: 次のような行列/配列/リストのリスト(または同等のもの)を作成(および出力/印刷)します。 n, n+1, ... m-1, m n+1, n+2, ... m-1, m+1 ... n+m, n+m+1, ... 2*m-1, 2*m n=4, m=9あなたが出力します: 4, 5, 6, 7, 8, 9 5, 6, 7, 8, 9, 10 ... 13, 14, 15, 16, 17, 18 タスク3: n行m列の乗算テーブルを(適切な形式で)作成(および出力/印刷)します。例n=4, …


21
行列の乗算を行う!
数学では、行列乗算または行列積は、2つの行列から行列を生成する2項演算です。この定義は、線形方程式とベクトルの線形変換によって動機付けられています。これらは、応用数学、物理学、および工学で多くの用途があります。より詳細には、Aがn×m行列で、Bがm×p行列である場合、それらの行列積ABはn×p行列です。 Bの列と合計してABのエントリを生成します。2つの線形変換が行列で表される場合、行列積は2つの変換の構成を表します。 出典:ウィキペディア 言い換えると、2つの行列を乗算するには、たとえば: 1 2 3 1 4 2 3 4 × 3 1 = 3 4 5 4 6 第一、第二のマトリックス中に第1の行列における行番号1、列番号1を取り、乗算1によって1、2によって3、そして3による4。 1 × 1 = 1 2 × 3 = 6 3 × 4 = 12 それらを一緒に追加して、最初のアイテムを取得します。 1 2 3 1 4 19 2 3 4 × 3 1 …
14 code-golf  math  matrix 

6
バイナリ自己回転
バイナリ3D配列が与えられた場合、各レイヤーについて、その上のレイヤーの列のバイナリエンコーディングで示されるステップ数だけ各列を循環的に上に回転させ、その後、その下のレイヤーの行のバイナリエンコーディング。 常に少なくとも3つのレイヤーがあります。最上層の列と最下層の行は回転させないでください。 ウォークスルー 小さな4層、2行、3列の配列から始めましょう。 [[[1,0,1], [1,0,0]], [[1,0,1], [0,1,1]], [[0,1,1], [1,1,1]], [[1,1,0], [1,1,1]]] 最初のステップは、各レイヤーの列と行によってバイナリでエンコードされた数値を評価することです。 3 0 2 5 [[[1,0,1], 4 [1,0,0]], 2 1 3 5 [[1,0,1], 3 [0,1,1]], 1 3 3 3 [[0,1,1], 7 [1,1,1]], 3 3 1 6 [[1,1,0], 7 [1,1,1]]] 最初のレイヤーの[[1,0,1],[1,0,0]]列は回転しませんが、行はそれぞれ左に5ステップと3ステップ左に循環的に回転するため、になり[[1,1,0],[1,0,0]]ます。 2番目のレイヤーの列は、[[1,0,1],[0,1,1]]それぞれ3、0、および2ステップ上で[[0,0,1],[1,1,1]]周期的に回転します。次に、行は、目に見える変化なしに、それぞれ、3および7ステップ左に周期的に回転します。2、1、および3ステップ 上に[[0,1,1],[1,1,1]]回転した3番目のレイヤーは同じままで、左および6ステップを回転しても何も実行されません。 最後に[[1,1,0],[1,1,1]]、1、3、および3ステップ上に回転した4番目のレイヤーはですが[[1,1,1],[1,1,0]]、その行は最後のレイヤーであるため、その後は回転しません。 すべてのレイヤーを再びまとめると、バイナリの自己回転3D配列が得られます。 [[[1,1,0], [1,0,0]], [[0,0,1], [1,1,1]], …

16
その気を散らす背景を切り落としてください!
写真を撮っているときは迷惑ではありませんが、背景は画像の実際の実体を損ないますか?そうだと思います。この問題を取り除くために、私はどれだけ作物を刈る必要があるかを知る必要があります!しかし-いつものように-私はとても怠け者なので、私のためにこれをする誰かが必要です... タスクとルール 画像を表すバイナリマトリックスが与えられた場合、元のマトリックスのすべての111を含む最小のサブマトリックスの次元(幅と高さ)を出力します。サブ行列は元の行列から、隣接するエントリのブロックです。同様に、これは元の隣接する行のサブセットと隣接する列のサブセットをオーバーラップさせることにより形成される新しいマトリックスです。 入力として行列の幅と高さも使用できます。 入力には、少なくとも1つの111が含まれることが保証されています。 これらの抜け穴はデフォルトでは禁止されていることに注意しながら、任意の標準的な方法で入力を取得し、出力を提供できます。これは code-golfなので、選択した言語で管理できる最小バイトでタスクを完了してください。 例 ⎡⎣⎢⎢⎢⎢⎢⎢000000110000110010000011000100⎤⎦⎥⎥⎥⎥⎥⎥⟶⎡⎣⎢110011100011010⎤⎦⎥⟶(5,3)[000000010100011011001010000000]⟶[101001101101010]⟶(5,3)\left[\begin{matrix} \color{red}0&\color{red}0&\color{red}0&\color{red}0&\color{red}0&\color{red}0\\ \color{red}0&\color{blue}1&\color{blue}0&\color{blue}1&\color{blue}0&\color{blue}0\\ \color{red}0&\color{blue}1&\color{blue}1&\color{blue}0&\color{blue}1&\color{blue}1\\ \color{red}0&\color{blue}0&\color{blue}1&\color{blue}0&\color{blue}1&\color{blue}0\\ \color{red}0&\color{red}0&\color{red}0&\color{red}0&\color{red}0&\color{red}0\end{matrix}\right] \longrightarrow \left[\begin{matrix}1&0&1&0&0\\1&1&0&1&1\\0&1&0&1&0\end{matrix}\right]\longrightarrow(5,3) テストケース 入力| 出力 [[0,1,0,0,0,1,0]] ->(5,1)または(1,5) [[0,0,0,0,0]、[0,1,0,1,0]、[0,0,1,0,0]] ->(3,2)または(2,3) [[1,1,1,1]、[0,0,0,0]、[0,0,0,0]、[1,0,0,0]] ->(4,4) [[0,0,0,0,0,0]、[0,1,0,1,0,1]、[0,0,0,0,0,0]] ->(5,1)または(1,5) [[0,0,0,0,0]、[0,1,0,1,0]、[0,0,1,0,0]、[0,1,0,1,0]、[ 0,0,0,0,0]] ->(3,3) [[0,0,0,0,0,0]、[0,1,0,1,0,0]、[0,1,1,0,1,1]、[0,0,1、 0,1,0]、[0,0,0,0,0,0]] ->(5,3)または(3,5)

15
論理ゲートを手動で
基本的な論理ゲートをシミュレートするプログラムを作成します。 入力:スペースなどで区切られた、2つの1桁の2進数が続く、すべて大文字の単語OR 1 0。門OR、AND、NOR、NAND、XOR、およびXNOR必要とされています。 出力:入力された論理ゲートの出力には、1または0の2つの数値が与えられます。 例: AND 1 0なります0 XOR 0 1なり1 OR 1 1ます1 NAND 1 1なります0 これはcodegolfなので、最短のコードが優先されます。
13 code-golf  logic-gates  hashing  code-golf  code-golf  number  array-manipulation  integer  code-golf  string  unicode  text-processing  cops-and-robbers  boggle  cops-and-robbers  boggle  code-golf  ascii-art  code-golf  word-puzzle  king-of-the-hill  python  code-golf  sequence  kolmogorov-complexity  code-golf  source-layout  code-golf  string  kolmogorov-complexity  math  number  code-golf  date  code-golf  combinatorics  recursion  game  king-of-the-hill  javascript  code-golf  array-manipulation  code-golf  radiation-hardening  self-referential  code-golf  integer  code-golf  number  code-golf  set-theory  code-golf  sequence  code-golf  string  sorting  natural-language  code-golf  decision-problem  number-theory  primes  code-golf  code-golf  ascii-art  code-challenge  array-manipulation  sorting  rubiks-cube  regular-expression  code-golf  counting  file-system  recursion  code-golf  string  kolmogorov-complexity  color  code-golf  game  code-challenge  permutations  encode  restricted-time  decode  code-golf  math  decision-problem  matrix  integer  palindrome  code-golf  matrix  statistics  king-of-the-hill  king-of-the-hill  python  card-games  code-golf  string  natural-language  code-golf  sequence  number-theory 

20
最適正方行列の計算
最適なマトリックス(この課題のかなり狭い範囲のための)が正方行列の対応する行と列から要素を「ジッピング」とそれぞれペアの最大値を取得することによって得られます。 たとえば、次のマトリックスが与えられた場合: 4 5 6 1 7 2 7 3 0 これを転置と組み合わせて、以下を取得できます[[[4,5,6],[4,1,7]],[[1,7,2],[5,7,3]],[[7,3,0],[6,2,0]]]。リストの各ペアを圧縮すると、次のものが得られます[[(4,4),(5,1),(6,7)],[(1,5),(7,7),(2,3)],[(7,6),(3,2),(0,0)]]。最後のステップは、各ペアの最大値を取得して最適なマトリックスを取得することです。 4 5 7 5 7 3 7 3 0 あなたの仕事は、入力として与えられた正方行列の最適な行列を出力することです。マトリックスには整数のみが含まれます。I / Oは、合理的な形式で実行できます。バイト単位の最短コード(UTF-8または言語のカスタムエンコーディング)が勝ちます! テスト [[172,29]、[29,0]]-> [[172,29]、[29,0]] [[4,5,6]、[1,7,2]、[7,3,0]]-> [[4,5,7]、[5,7,3]、[7,3,0] ]] [[1,2,3]、[1,2,3]、[1,2,3]]-> [[1,2,3]、[2,2,3]、[3,3,3] ]] [[4,5、-6]、[0,8、-12]、[-2,2,4]]-> [[4,5、-2]、[5,8,2]、[- 2,2,4]]

9
特性多項式
特性多項式正方行列のAは多項式として定義されたP A(X)= DET(I X- A)ここで、Iは、ある単位行列とDET 決定基を。この定義は、解が一意であるようなモニック多項式を常に与えることに注意してください。 この課題のタスクは、整数値の行列の特性多項式の係数を計算することです。このため、ビルトインを使用できますが、推奨されません。 ルール 入力は、任意の便利な形式のNxN(N≥1)整数行列です。 プログラム/関数は、係数を昇順または降順で出力/返します(どちらを指定してください) 係数は、x Nの係数が1になるように標準化されます(テストケースを参照) 無効な入力を処理する必要はありません テストケース 係数は降順で与えられます(x N、x N-1、...、x 2、x、1): [0] -> [1 0] [1] -> [1 -1] [1 1; 0 1] -> [1 -2 1] [80 80; 57 71] -> [1 -151 1120] [1 2 0; 2 -3 5; 0 1 …

5
マトリックスを畳む!
行列が与えられたら、その値を上/下または左/右に合計してXを形成し、それを畳んでリストを返します。ここでアルゴリズムを説明します。 アルゴリズム 入力は、言語の適切な数値容量内の整数の奇数サイズの正方行列になります。 例として次のマトリックスを見てみましょう。 1 2 3 2 1 0 3 2 3 0 4 2 5 6 3 7 4 7 9 4 0 6 7 2 5 まず、メインの対角線または対角線上にある最も近い数字にすべての数字を追加します。つまり、マトリックスを対角線と対角線に沿って4つのセクションに分割し、各セクションのすべての数値を中央に向かって合計します。 1 2 3 2 1 ↓ ↓ ↓ 0 → 3 2 3 ← 0 ↓ 4 → 2 → …
13 code-golf  matrix 

8
最小タクシー距離マップ
チャレンジの説明 タクシーメトリック、2点間の距離は次のように定義されます。 ゼロと1のみの行列を考えてみましょう: 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 マトリックス内で1最も近い異なる 距離にそれぞれをマッピングしてみましょう1(もちろん、2つの隣接する行/列間の距離が1に等しいと仮定します): 0 0 0 3 0 2 0 0 0 0 0 0 0 0 0 1 0 0 3 0 …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.