タグ付けされた質問 「array-manipulation」

配列の使用と操作を通じて特定の問題を解決するための競争。

30
最短電力セットの実装
問題定義 指定されたセットのpowersetを印刷します。例えば: [1, 2, 3] => [[], [1], [2], [3], [1, 2], [1, 3], [2, 3], [1, 2, 3]] 各要素は別々の行に印刷されるため、上記の例は次のように印刷されます。 [] [1] [2] ... [1, 2, 3] サンプルコード(Dのpythonの例はこちら): import std.stdio; string[][] powerset(string[] set) { if (set.length == 1) { return [set, []]; } string[][] ret; foreach (item; powerset(set[1 .. $])) …

18
Boggleのゲームを獲得する
バックグラウンド で尻込み、ラウンドは、それぞれのポイントを加算して得点されるユニークな(複数のプレイヤーが0ポイントの価値がある見つけたすなわち任意の単語)プレイヤーが発見した言葉。ポイントは、次のように各単語の文字数に基づいて計算されます。 3文字:1ポイント 4文字:1ポイント 5文字:2ポイント 6文字:3ポイント 7文字:5ポイント 8文字以上:11ポイント チャレンジ この課題では、各プレーヤーの単語を表す文字列のリストのリストを取り込んで、プレーヤーのスコアのリストを出力するプログラムまたは関数を作成します。少なくとも2人のプレイヤーがいて、すべての単語が3文字以上で、すべて小文字(または必要に応じてすべて大文字)であると想定できます。また、各プレイヤーが各単語を1回だけ使用すると想定することもできます。つまり、プレーヤーのリストには重複が含まれません。これはコードゴルフであるため、バイト単位の最短回答が優先されます。 ルール 入力は、合理的な形式で取得できます。例には、文字列のリストのリスト、コンマで区切られた文字列のリスト、入力の各行のコンマで区切られた文字列などが含まれます。選択したセパレーター(改行など)を使用してstdoutに値。 テストケース 入力=>出力 [["cat","dog","bird","elephant"], ["bird","dog","coyote"], ["dog","mouse"]] => [12,3,2] [["abc","def","ghi"], ["ghi","def","abc"]] => [0,0] [["programming","puzzles"], ["code","golf"], []] => [16,2,0]

17
仲人、仲人、私をマッチさせて
(ただしFind、を見つけることも、キャッチすることtryCatchもありません) これは、興味深いR関数を実装するマルチパートシリーズのパート2です。パート1はここにあります。 タスク: Rのmatch関数をできるだけ少ないバイトで実装する必要があります。 入力: x、空の可能性のある整数のリスト/配列 table、空の可能性のある整数のリスト/配列 nomatch、単一の整数値 incomparables、空の可能性のある整数のリスト/配列 出力: Oに等しい長さの整数の単一の配列/リストx。各値O[i]は次のいずれかを表します。 インデックスjの最初の値tabletable[j]==x[i] nomatch、には値ことを示すtableISに等しいないx[i] ORそのx[i]リストにありますincomparables。 テストケース All in the form x, table, nomatch, incomparables -> output outputs [], [1,2,3], 0, [5] -> [] [1, 2, 3], [], 0, [5] -> [0, 0, 0] [9, 4, 3, 6, 3], [9, 8, 7, …

12
蛇のようなスリザー
アイデア これまでにマトリックススパイラル、完全回転、さらには対角回転を行ってきましたが、私が知る限り、スネーク回転はしていません! ヘビの回転とは何ですか? 行列の行が前後に蛇行し、それらの間の仕切りが長い待ち行列の仕切りのようになっていると想像してください。 +--------------+ 1 2 3 4 5| +------------ | |10 9 8 7 6| | +-----------+ |11 12 13 14 15| +------------ | 20 19 18 17 16| +--------------+ ここで、これらのアイテムを2回転させることを想像してください。各アイテムは、人が一列に移動するように進み、最後のアイテムがあふれ出て最初に戻ります。 +--------------+ --> 19 20 1 2 3| +------------ | | 8 7 6 5 4| | +-----------+ …

23
ポインタージャンプ
配列内のある場所を指すポインターを持つ長さ配列がとします。「ポインタージャンプ」のプロセスは、すべてのポインターを、ポインターが指す場所に設定します。PSps\texttt{ps}nnn このチャレンジのために、ポインターは配列の要素の(ゼロベースの)インデックスです。これは、配列のすべての要素が以上未満であることをます。この表記を使用すると、プロセスは次のように定式化できます。000nnn for i = 0..(n-1) { ps[i] = ps[ps[i]] } これは、(このチャレンジのために)ポインタが順番にインプレースで更新されることを意味します(つまり、インデックスが最初に低い)。 例 例、みましょう。PS = [2,1,4,1,3,2]ps = [2,1,4,1,3,2]\texttt{ps = [2,1,4,1,3,2]} 私 = 0:位置 ps [0]の要素 = 2 点から 4点 → ps= [4,1,4,1,3,2]私 = 1:位置 ps [1]の要素 = 1 点に 1→ ps= [4,1,4,1,3,2]私 = 2:位置 ps [2]の要素 = 4 点から 3点 …

30
配列からチャンクを作成する
あなたの仕事は、配列と番号を指定したプログラムを書くことです。配列をサイズがnumberのチャンクに分割する必要があります。 ルール プログラムはA、正の整数だけでなく配列も受け取りnます。n文字列の長さがn残りの部分で割り切れない場合、配列をlengthのチャンクに分割する必要があります。 nがarrayの長さよりも大きい場合は、array Aを返す必要があります。A例:if n = 4およびarray A = [1,2,3]、返す必要があります[1,2,3] 配列には、数値ではなく任意のタイプを含めることができます。 アイテムの順序(または方向)を左から右に変更しないでください。たとえばif n = 2とA= [1,2,3]。結果は[[1,2],[3]]無効ではありません。 テストケース n A Output 2 [1,2,3,4,5,6] [[1,2],[3,4],[5,6]] 3 [1,2,3,4,5,6] [[1,2,3],[4,5,6]] 4 [1,2,3,4,5,6] [[1,2,3,4],[5,6]] これはcode-golfなので、各言語の最短バイトが勝者になります。

17
スプリットマークのマーク
チャレンジ マークは、N単一の行で連結された方法でマークを受け取る学生です。 課題は、各マークが唯一できることを知って、彼のマークを分離することである0か、1または2または3または4または5または6または7または8または9または10。 入力 N 自然数と1行。 出力 自然数のセット。 例 N, One line------------------> Set of marks 3, '843'---------------------> [8, 4, 3] 1, '0'-----------------------> [0] 2, '1010'--------------------> [10,10] 3, '1010'--------------------> [1,0,10] or [10,1,0] 4, '1010'--------------------> [1,0,1,0] 9, '23104441070'-------------> [2, 3, 10, 4, 4, 4, 10, 7, 0] 12,'499102102121103'---------> [4, 9, 9, 10, …

15
私の配列はこれに等しいはずですが、そうではありません!
n個の整数と単一の整数aを含む整数の配列を指定します。から最小の要素を削除して、合計をに等しくします。の組み合わせが形成できない場合、偽の値を返します。xaaxax コメントで指摘されているように、これはxの合計を含む最大セットです。大学以来多くの用語を忘れていました。 例(真実): f([1,2,3,4,5,6,7,8,9,10], 10) = [1,2,3,4] f([2,2,2,2,2,2,2,2,2], 10) = [2,2,2,2,2] f([2,2,2,2,-2,-2,-2,-4,-2], -8) = [2,2,-2,-2,-2,-4,-2] f([-2,-4,-2], -6) = [-4,-2] OR [-2,-4] f([2,2,2,4,2,-2,-2,-2,-4,-2], 0) = [2,2,2,4,2,-2,-2,-2,-4,-2] (変更なし) f([], 0) = [] (ゼロサムケースの変更なし) 例(偽、一貫性のある非配列値): ケースを作ることが不可能: f([-2,4,6,-8], 3) = falsy (E.G. -1) ゼロサムケース: f([], non-zero number) = falsy (E.G. -1) 注:のような値[-1]は、潜在的な真実の出力であるため、偽造には有効ではありません。 ルール: 入力は、配列形式で、または引数のリストとして、最後または最初として取得できますx。 …

9
私のサイコロマトリックスの価値はいくらですか?
入力 横に並べられた3x3のサブ行列で構成される空でないバイナリ行列。 仕事 あなたの仕事は、3x3のサブマトリックスの中から有効なサイコロパターン(以下で説明)を識別することです。それぞれの有効なパターンは、対応するサイコロの価値があります。無効なパターンは0の価値があります。 出力 有効なサイコロ値の合計。 サイコロパターン 1 :⎛⎝⎜0、 0、 00、1 、 00、 0、 0⎞⎠⎟3 :⎛⎝⎜1 、0、00、1、 00、 0、 1⎞⎠⎟または ⎛⎝⎜0、 0、10、1、 01 、0、0⎞⎠⎟5 : ⎛⎝⎜1 、0、10、1、 01 、0、1⎞⎠⎟2 : ⎛⎝⎜1 、0、00、 0、 00、 0、1⎞⎠⎟または ⎛⎝⎜0、 0、10、 0、 01 、0、0⎞⎠⎟4 : ⎛⎝⎜1 、0、10、 0、 01 、0、1⎞⎠⎟6 : ⎛⎝⎜1 、0、11 、0、11 …

14
行列を切り取り、目的の合計を取得します
定義 非負整数の行列と非負整数与えられた場合、を含むすべての行と列を削除する「チョップオフ」関数としてを定義します。k F k M kMMMkkkFkFkF_kMMMkkk 例: M= ⎛⎝⎜⎜⎜619612805854⎞⎠⎟⎟⎟F5(M)= (1620)M=(615128985604)F5(M)=(1260)\begin{align}M=\pmatrix{\color{red}6&\color{red}1&\color{white}{\bbox[red,1pt]{5}}\\1&2&\color{red}8\\\color{red}9&\color{red}8&\color{white}{\bbox[red,1pt]{5}}\\6&0&\color{red}4}\\\\F_5(M)=\pmatrix{1&2\\6&0}\end{align} あなたのタスク MMMとターゲットの合計Sが与えられた場合SSS、タスクは、F_k(M)の残りの要素の合計がSと等しくなるように、kのすべての可能な値を見つけることです。kkkFk(M)Fk(M)F_k(M)SSS 例: 上記の行列MMMとS = 9が与えられた場合S= 9S=9S=9: F = 5 (M)= \ pmatrix {1&2 \\ 6&0}および1 + 2 + 6 + 0 = 9k = 5k=5k=5であるため、k = 5は解です。F5(M)= (1620)F5(M)=(1260)F_5(M)=\pmatrix{1&2\\6&0}1 + 2 + 6 + 0 = 91+2+6+0=91+2+6+0=9 k = 1k=1k=1は、他の唯一の可能なソリューションです:F1(M)= …

20
リバースレンジサクセサ
正の整数nを指定して、次の操作を実行します(すべてのステージを出力します)。 のnコピーを含むリストから始めnます。 次のn時間を実行します。 でi目のステップ、徐々にデクリメントiそれが到達するまで、リストの番目のエントリをi 与えられたがあれば、例えば、nある4、あなたはで始まり[4,4,4,4]、あなたが持っている最初のステップで、その後、および[3,4,4,4]、[2,4,4,4]、[1,4,4,4]。2番目のステップでは[1,3,4,4]、があり[1,2,4,4]ます。3番目のステップでがあり[1,2,3,4]ます。4番目のステップでは何も行われません。 したがって、出力は[[4,4,4,4],[3,4,4,4],[2,4,4,4],[1,4,4,4],[1,3,4,4],[1,2,4,4],[1,2,3,4]]です。 合理的な入力/出力形式はすべて許可されます。 標準の抜け穴が適用されます。これはコードゴルフです。バイト数が最小の答えが勝ちです。 チェック用のPython実装。

11
ゼロの重み
番号の順序付きリスト(先頭にゼロが付いている場合もある)を指定して、番号を垂直に並べ、すべてのゼロを一番下まで落とし、すべてのオーバーハングを一番下の空きスロットまで落とします。結果の整数を出力し、先行ゼロを削除します。 実施例 入力として次のものが与えられたとします。 ['0000312941295', '239124000124581598', '32852353800451258', '10235923505185190', '1491359102149'] まず、垂直に配置します。 0000312941295 239124000124581598 32852353800451258 10235923505185190 1491359102149 次に、列ごとに、ゼロが他の数字を「通り抜ける」ようにドロップして、それらが下に残り、他の数字を「押し上げる」ようにします。これにより、最初のいくつかの手順は次のようになります。 2000312941295 339124000124581598 12852353800451258 10235923505185190 0491359102149 ^ 2300312941295 329124000124581598 14852353800451258 10235923505185190 0091359102149 ^ 2390312941295 328124000124581598 14252353800451258 10935923505185190 0001359102149 ^ ... 2391312941295 328524538124581598 14232323525451258 10915991001185190 0000350000049 ^ 次に、まるで重力が砂のようにそれらを引き下げているかのように、すべての張り出しを落とします。 2391312941295 3285245381245 1598 14232323525458258 10915991001181190 00003500000495 ^ 2391312941295 3285245381245 …

15
拡大する配列
2つの正の整数pおよびqが与えられた場合、次のアルゴリズムを適用して作成された配列Aを返すことがタスクです。 スタートA = [P、Q]とD = 2 合計がdで割り切れるAの連続する数値の各ペア(x、y)に対して、xとyの間に(x + y)/ dを挿入します。 一致するペアが少なくとも1つ見つかった場合は、dをインクリメントして、手順2に進みます。それ以外の場合は、停止してAを返します。 例 以下は、p = 1およびq = 21のプロセスの詳細です。 1 21 | Iteration #1: we start with d = 2 and A = [1, 21] \/ | 1 + 21 is divisible by 2 -> we insert 11 22/2=11 | | 1 …

16
もう一つのプログラムと私は出かけています!
正の整数ネスティングレベル所定のn文字列s印刷可能なASCII文字(のと~同じ言語で実行すると、プログラムを出力するプログラムを出力し、出力プログラム。。。文字列を出力しますs。 合計でnプログラムを生成する必要があります。すべてのプログラムは回答と同じ言語で実行する必要があります。 注:プログラムまたは関数を出力することができます-提出物としてデフォルトで許可されているもの。 あなたのs言語のプログラムや関数が通常どのように文字列を入力するかをエスケープ文字で入力できます。 例 例えば、与えられたn=1とs="recursion"、Pythonの2プログラムのかもしれない出力: print "recursion" これを実行すると出力されます: recursion 与えられたn=2s = "PPCG"の場合、Python 2プログラムは次を出力します。 print "print \"PPCG\" " この出力の実行: print "PPCG" この出力の実行: PPCG 関連(+タイトルのインスピレーション):もう1つのLULと私は出ています 関連(サンドボックス内-現在削除されていますが、十分な評判で表示できます):ソースコードの再帰 テストケース 次のテストケースでコードが機能することを確認します(1行に1つ)。 n s 2 PPCG 4 Robert'); DROP TABLE Students;-- 17 Deep 2 Spaces In Here 3 "Don't forget quotes!" 5 'Backt`cks might be …
21 code-golf  recursion  code-golf  kolmogorov-complexity  board-game  code-golf  number-theory  polynomials  code-golf  code-golf  array-manipulation  polyglot  alphabet  answer-chaining  code-golf  sequence  math  atomic-code-golf  abstract-algebra  proof-golf  code-golf  internet  code-golf  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  ascii-art  number  integer  code-golf  decision-problem  binary-matrix  code-golf  number  sequence  number-theory  code-golf  math  decision-problem  matrix  abstract-algebra  code-golf  string  keyboard  code-golf  fractal  code-golf  math  sequence  combinatorics  hello-world  vim  code-golf  sequence  code-golf  graphical-output  image-processing  code-golf  decision-problem  matrix  linear-algebra  code-golf  ascii-art  code-golf  math  code-golf  ascii-art  graphical-output  code-golf  string  code-golf  string  substitution  code-golf  string  ascii-art  code-golf  arithmetic  code-golf  number  array-manipulation  decision-problem  code-golf  kolmogorov-complexity  code-generation  fractal  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  code-golf  string  array-manipulation  code-golf  music  code-golf  array-manipulation  code-golf  internet  stack-exchange-api  math  fastest-algorithm  code-golf  binary  bitwise  code-golf  date  code-golf  string  code-golf  sequence  integer  code-golf  arithmetic  number-theory  code-golf  string  random 

25
最大サブアレイ
指定された配列の「最大サブ配列」を「最大合計を持つ(連続した)サブ配列」として定義します。「非ゼロ」要件はないことに注意してください。その合計を出力します。 可能であれば、コードの説明を入力してください。 サンプル入力1: 1 2 3 -4 -5 6 7 -8 9 10 -11 -12 -13 14 サンプル出力1: 24 説明1: 最大の合計は、切り取り6 7 -8 9 10と合計によって得られます。 サンプル入力2:-1 -2 -3 サンプル出力2:0 説明2:簡単です:)空のサブアレイは「最大」です。 要件: stdin以外は何も読み込まないでください。出力はstdoutに送られます。 標準的な抜け穴の制限が適用されます。 ランキング:最短プログラムがこのcode-golfを獲得します。

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