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

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

2
Kippleを解釈してください!
前書き Kippleは、2003年3月にRune Bergによって発明されたスタックベースの難解なプログラミング言語です。 Kippleには、27のスタック、4つの演算子、および制御構造があります。 スタック スタックは命名されているa- zと32ビット符号付き整数を含んでいます。また@、数値の出力をより便利にするための特別なスタックがあります。数字がにプッシュされる@と、その数字の数字のASCII値が実際にプッシュされます。(たとえば、12を@に押した場合、49を押し、次に50を押し@ます。) iプログラムが実行される前に、入力が入力スタックにプッシュされます。インタープリターは、i実行前に保存する値を要求します。実行が終了すると、出力スタック上のすべてoがポップされ、ASCII文字として出力されます。これはKippleの唯一のIOメカニズムであるため、Kippleプログラムとの対話は不可能です。 オペレーター オペランドは、スタック識別子または符号付き32ビット整数のいずれかです。 プッシュ:>または< 構文:Operand>StackIndentifierまたはStackIndentifier<Operand Push演算子は、オペランドを左に取り、指定されたスタックにプッシュします。たとえば12>a、値12をstackにプッシュしますa。a>bstackから一番上の値をポップし、stack aにプッシュしますb。空のスタックをポップすると常に0 a<bが返されb>aます。これはと同等です。a<b>c最上位から値ポップbの両方にとプッシュをcしてa。 追加: + 構文: StackIndentifier+Operand 追加演算子は、スタックの一番上の項目とオペランドの合計をスタックにプッシュします。オペランドがスタックの場合、値はそこからポップされます。たとえば、スタックの最上位の値aが1の場合、a+23をプッシュします。aが空の場合、a+22をプッシュします。スタックの一番上の値場合aとbがある1と2は、a+bスタックから値2をポップアップ表示されますbし、スタックに3を押しますa。 減算: - 構文: StackIndentifier-Operand Subtract演算子は、Add演算子とまったく同じように機能しますが、加算ではなく減算する点が異なります。 晴れ: ? 構文: StackIndentifier? Clear演算子は、最上位のアイテムが0の場合、スタックを空にします。 インタープリターは演算子の隣にないものをすべて無視するため、次のプログラムが機能しますa+2 this will be ignored c<i。ただし、コメントを追加する適切な方法は、#文字を使用することです。a #と行末文字の間のすべてのものは、実行前に削除されます。ASCII文字#10は、Kippleの行末として定義されています。 オペランドは2つの演算子で共有a>b c>b c?できますa>b<c?。たとえば、と書くことができます。 プログラム1>a<2 a+aはa、値を[1 4](下から上へ)含むようになり、ではありません[1 3]。-オペレーターも同様です。 制御構造 Kippleには、ループという制御構造が1つしかありません。 構文: (StackIndentifier code ) …
12 code-golf  interpreter  code-golf  string  code-golf  math  string  code-golf  ascii-art  path-finding  code-golf  string  ascii-art  code-golf  interpreter  binary  logic-gates  logic  code-golf  ascii-art  code-golf  graph-theory  code-golf  string  code-golf  number  sorting  code-golf  number-theory  random  cryptography  polynomials  code-golf  number  code-golf  math  number  sequence  code-golf  quine  code-generation  code-golf  arithmetic  set-theory  code-golf  sequence  code-golf  code-golf  string  math  fastest-code  optimization  code-golf  code-golf  internet  stack-exchange-api  code-golf  array-manipulation  code-golf  string  internet  string  code-challenge  internet  test-battery  code-golf  math  pi  code-golf  arithmetic  primes  code-golf  array-manipulation  code-golf  string  code-golf  string  palindrome  code-golf  sequence  number-theory  fastest-algorithm  code-golf  math  number  base-conversion  code-golf  number-theory  sorting  subsequence  search  code-golf  permutations  code-challenge  popularity-contest  code-generation 

8
配列を自動ネストする
誰もがネストされたリストを愛しています!ただし、ネストされたリストを作成するのが難しい場合があります。深くネストするか、浅くネストするかを決定する必要があります。したがって、あなたの挑戦のために、リストを「自動ネスト」する必要があります。リストを自動ネストするには、リスト内のアイテムのすべてのペアを比較します。 2番目の項目が小さい場合は、次のように2つの要素の間に閉じ括弧と開き括弧を挿入して、2つの要素を分離します。 } { {2 , 1} たとえば、に{2, 1}なり{2}, {1}、に{3, 2, 1}なります{3}, {2}, {1} 2番目の項目が同じ場合、何も変更しません。たとえば{1, 1, 1}、同じままでに{2, 1, 1, 1}なり{2}, {1, 1, 1}ます。 2番目の項目が大きい場合、次のすべての項目を1レベル深くネストします。例えば、{1, 2}なる{1, {2}}と{1, 2, 3}なります{1, {2, {3}}} チャレンジ 数値のリストを受け取り、自動ネスト後に同じリストを返すプログラムまたは関数を作成する必要があります。ご使用の言語のネイティブリスト形式(または最も近い代替形式)または文字列として、この入力を取得してください。私の例のように中括弧を使用する必要はありません。一貫性がある限り、言語で最も自然な括弧を使用できます。リストには整数のみが含まれると仮定しても安全です。また、リストには少なくとも2つの数字が含まれると想定することもできます。サンプルIOを次に示します。 {1, 3, 2} --> {1, {3}, {2}} {1, 2, 3, 4, 5, 6} --> {1, {2, {3, {4, …

9
リストを選択する
整数のリストと整数Lを指定すると、等しい長さのサブリストに分割されたN出力。LN 割り切れない長さ Nの長さを分割しない場合L、すべてのサブリストが同じ長さになることはできません。 いずれの場合でも、出力の最後のサブリストは、リストの残りを含むようにその長さを適合させるものです。 すべてのサブリストというこの手段L最後のものを除いては、長さであるべきであるがlength(L) // N、どこ//床の部門(例えばです3//2 = 1)。 いくつかのルール L 空にすることができます。 N >= 1。 任意の組み込みを使用できます。 を介して入力をSTDIN関数の引数として、または同様のものとして受け取ることができます。 出力をSTDOUTに出力し、関数から返すか、同様のものを出力できます。 あなたの言語のリストと整数の最も自然な表現である限り、リストと整数に任意の形式を選択できます。 テストケース Input: [1,2,3,4], 2 Output: [[1,2],[3,4]] Input: [-1,-2,3,4,-5], 2 Output: [[-1,-2],[3,4,-5]] Input: [1,2,3,4], 1 Output: [[1,2,3,4]] Input: [4,8,15,16,23,42], 5 Output: [[4],[8],[15],[16],[23,42]] Input: [4,8,15,16,23,42], 7 Output: [[],[],[],[],[],[],[4,8,15,16,23,42]] Input: [2,3,5,7,11,13,17,19,23], 3 Output: [[2,3,5],[7,11,13],[17,19,23]] …

4
担当者の再計算にご協力ください!
数か月前に、質問に対する賛成票で与えられる評判を高めることについて、メタについて議論しました。投票の現在の評判システムの基本は次のとおりです。1 質問に賛成票を投じるU価値は5つあります。 回答の賛成票uは10名の価値があります。 質問または回答のダウン票dは、-2評判に値します。 新しいシステムにはさまざまな提案がありましたが、現在最も人気のあるものは上記と同じですが、質問の賛成票が+10 repにスケーリングされています。この課題は、このシステムが導入された場合にどれだけ多くの担当者を獲得できるかを計算することです。 例を見てみましょう。投票アクティビティがの場合、UUUUuuuuUUUUUduuudUU現在のシステムでは121を獲得します。 U x 4 x 5 = 20 = 20 u x 4 x 10 = 40 = 60 U x 5 x 5 = 25 = 85 d x 1 x -2 = -2 = 83 u x 3 x 10 = 30 …

12
除去ゲームをプレイする
前書き この課題では、タスクは特定の種類の消去ゲームをシミュレートすることです。ゲームでは、参加者は輪になっており、全員が整数を保持しています。ゲームの各ラウンドで、すべての参加者は、保持している数nである場合nは、その人が離れる方向を指しています。n正の場合は右nに数え、負の場合は左に数え、nゼロの場合は自分自身を指します。誰かが彼らを指しているすべての参加者は排除され、円を離れます。これでラウンドが終了します。ラウンドは、参加者がなくなるまで続けられます。 入力 入力は、適切な形式の整数の空でないリストです。ゲームの参加者が保持している数字を表します。 出力 出力は、ゲームが終了するまでにかかるラウンドの数です。 例 入力リストを検討してください[3,1,-2,0,8]。最初のラウンドでは、次のことが起こります。 保持者は保持3者を指さし0ます。 保持者は保持1者を指さし-2ます。 持っている人-2のポイントは、人物保持のまま3。 0自分自身でポイントを保持している人。 保持8している人は、保持している人のすぐ-2近くにポイントを置きます(リストは円を表しているため、端で折り返します)。 これは0、-2と3が削除されることを意味するため、listで2回目のラウンドが実行されます[1,8]。ここでは、を1指して8おり、8自分自身を指してい8ます。3番目のラウンドはlistを使用して行われ[1]、1単純に自分自身を指して排除されます。すべての参加者を排除するのに3ラウンドかかったため、正しい出力は3です。 ルールとスコアリング 完全なプログラムまたは関数を作成できます。最小のバイトカウントが優先され、標準の抜け穴は許可されません。 テストケース [3] -> 1 [0,0,0] -> 1 [-2,-1,0,1,2,3,4,5,6,7] -> 2 [5,5,5,6,6,6] -> 2 [3,-7,-13,18,-10,8] -> 2 [-7,5,1,-5,-13,-10,9] -> 2 [4,20,19,16,8,-9,-14,-2,17,7,2,-2,10,0,18,-5,-5,20] -> 3 [11,2,7,-6,-15,-8,15,-12,-2,-8,-17,6,-6,-5,0,-20,-2,11,1] -> 4 [2,-12,-11,7,-16,9,15,-10,7,3,-17,18,6,6,13,0,18,10,-7,-1] -> 3 [18,-18,-16,-2,-19,1,-9,-18,2,1,6,-15,12,3,-10,8,-3,7,-4,-11,5,-15,17,17,-20,11,-13,9,15] -> 6

14
複雑性のないコルモゴロフ(-Smirnov)
統計では、2つのデータサンプルが同じ基礎分布からのものかどうかを知ることが役立つ場合があります。これを行う1つの方法は、2サンプルのKolmogorov-Smirnov検定を使用することです。 あなたの仕事は、ソートされていない2つの非負整数配列を読み取り、テストで使用される主な統計を計算するプログラムを作成することです。 配列を指定Aし、実数x、分布関数を定義するFことにより、 F(A,x) = (#number of elements in A less than or equal to x)/(#number of elements in A) 与えられた2つの配列A1とA2を定義します D(x) = |F(A1, x) - F(A2, x)| 2サンプルのコルモゴロフ-スミルノフ統計は、Dすべての実数の最大値ですx。 例 A1 = [1, 2, 1, 4, 3, 6] A2 = [3, 4, 5, 4] 次に: D(1) = |2/6 - 0| …

2
nを法とする数論のインタープリター
(私たちの目的のための)数論の文は、次の記号のシーケンスです。 0および'(後継者)-後継者は+1、0'''' = 0 + 1 + 1 + 1 + 1 = 4 +(加算)と*(乗算) = (に等しい) (と)(括弧) 論理演算子nand(a nand bis not (a and b)) forall (ユニバーサル数量詞) v0、v1、v2、など(変数) ここに文の例があります: forall v1 (forall v2 (forall v3 (not (v1*v1*v1 + v2*v2*v2 = v3*v3*v3)))) ここでnot xは省略形ですx nand x-実際の文が使用する(v1*v1*v1 + v2*v2*v2 = v3*v3*v3) nand …
12 code-golf  number-theory  parsing  code-golf  kolmogorov-complexity  code-golf  code-golf  array-manipulation  matrix  code-golf  array-manipulation  code-golf  string  code-challenge  graphical-output  compression  code-golf  kolmogorov-complexity  code-golf  sequence  array-manipulation  code-golf  number  base-conversion  code-golf  string  decision-problem  code-golf  string  ascii-art  code-golf  string  random  code-challenge  brainfuck  code-generation  code-golf  code-golf  quine  code-golf  interpreter  code-golf  interpreter  code-golf  array-manipulation  sorting  code-golf  halting-problem  code-golf  javascript  code-golf  algorithm  code-golf  arithmetic  code-golf  math  counting  code-golf  math  code-golf  decision-problem  radiation-hardening  code-golf  conversion  bitwise  code-golf  number  decision-problem  code-golf  string  decision-problem  code-golf  random  game  code-golf  ascii-art  graphical-output  code-golf  decision-problem  binary-tree  tree-traversal  code-challenge  array-manipulation  code-challenge  graphical-output  path-finding  test-battery  algorithm  code-golf  integer  factorial  code-golf  binary-tree  code-golf  grid  graph-theory  code-golf  regular-expression  quine  code-golf  encoding  code-golf  king-of-the-hill  javascript 

30
チャンク+数字のリストを列挙する
10進数のリストがあります。 4, 4, 4, 7, 7, 9, 9, 9, 9, 2, 2, 2, 4, 4 10進数のリストはアイテムと呼ばれます。同じ番号と隣接する番号をグループ化することにより、これらのアイテムから「チャンク」を形成できます。各チャンクに、1から始まり、元のリストにチャンクが現れる順序で1ずつ増加する一意の番号を割り当てたいと思います。したがって、指定された例の出力は次のようになります。 1, 1, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 5, 5 入力フォーマット 数字のリスト。(0-9)必要に応じて、このリストを読むために言語組み込みを使用できます。エンコーディング:ASCII 出力フォーマット 区切り文字で区切られた一連の10進数。プログラムは常に同じ区切り文字を使用する必要があります。区切り文字は0ビットより長くする必要があります。エンコーディング:ASCII 標準の抜け穴が適用されます。

6
独創性による整数のグループ化
前書き: ツイスティパズルを収集します。ほとんどのツイスティパズルは、中国企業によって製造および販売されています。ほとんどの有名企業は、パズルデザイナーにデザインを作成し、市場の製品に向けて協力する許可を求めています。この場合、パズルデザイナーはもちろん、パズルの1つが市場に出回ったことを非常に喜んで誇りに思っています。 しかし、模造パズルを作成する中国企業もあります。これらの模造品は、元の作成者の許可なしに使用されたデザイン、または既存のパズルのまったく安価で低品質のコピーです。 チャレンジ: 特定の順序(左から右へ†)で「リリース」された番号の独創性を判断します。 整数のリストが与えられたら、それらをオリジナリティでグループ化して出力します。 数字の独創性はどのように決定されますか? 番号は以前の番号とまったく同じですか?グループバツ+ 1X+1X+1(オリジナルが最も少ない)。グループバツ+ 1X+1X+1は、他のすべてのグループの後に続きます。 番号は、以前の番号の重複ですが、その負のではなく(つまり、元の数だったnnnが、今− n−n-n、またはその逆)?グループバツXX。 数値の絶対値は、1つ以上の以前の絶対数を連結することで形成できますか?また、前述のグループバツ+ 1X+1X+1またはバツXX一部ではありませんか?基バツ− NX−NX-N、NNN連結に使用される個別の数値の量である(そしてN≥ 1N≥1N\geq1)。 数は上記のグループのいずれにも適合しないので、これまでのところ完全に一意ですか?グループ111(最もオリジナル)。これは他のすべてのグループの前にあります。 これはかなりあいまいに聞こえるかもしれないので、ここでステップバイステップの例: 入力リスト: [34,9,4,-34,19,-199,34,-213,94,1934499,213,3,21,-2134,44449,44] 34は最初の番号で、常にオリジナルでグループ111ます。これまでの出力:[[34]] 9 オリジナルも: [[34,9]] 4 オリジナルも: [[34,9,4]] -34は、以前の数値の負である34ため、グループバツXXます。[[34,9,4],[-34]] 19 オリジナルです: [[34,9,4,19],[-34]] -199は、前の2つの数字19と9で形成できるため、グループバツ− 2X−2X-2ます。[[34,9,4,19],[-199],[-34]] 34は以前の番号の正確なコピーであるため、グループます。バツ+ 1X+1X+1[[34,9,4,19],[-199],[-34],[34]] -213 オリジナルです: [[34,9,4,19,-213],[-199],[-34],[34]] 94は、以前の2つの数字9と4で形成できるため、グループます。バツ− 2X−2X-2[[34,9,4,19,-213],[-199,94],[-34],[34]] 19344994つの以前の数値を用いて形成することができる19、34、4、および2回9、それがグループでありますので、:バツ− 4X−4X-4[[34,9,4,19,-213],[19499],[-199,94],[-34],[34]] 213は、以前の数値の負である-213ため、グループバツXXます。[[34,9,4,19,-213],[1934499],[-199,94],[-34,213],[34]] 3 オリジナルです: [[34,9,4,19,-213,3],[1934499],[-199,94],[-34,213],[34]] 21 オリジナルです: [[34,9,4,19,-213,3,21],[1934499],[-199,94],[-34,213],[34]] -213421342134バツ− …

5
最小中心対称化
局所的に関連。 目的:正の整数の行列を考える、出力最小中心対称行列含まM(このマトリクスは同様に、非正の整数を含んでいてもよいです)。MMMMMM 中心対称行列は、2次の回転対称性を持つ正方行列です。つまり、2回回転しても同じ行列のままです。たとえば、中心対称マトリックスの左上要素は右下要素と同じであり、中心より上の要素は中心より下の要素と同じです。便利な視覚化はここにあります。 より正式に、行列所与、正方行列を生成するNようにNが中心対称であり、M ⊆ N、および他の正方行列が存在しないKようDIM K &lt; DIM Nは。MMMNNNNNNM⊆NM⊆NM\subseteq NKKKdimK&lt;dimNdim⁡K&lt;dim⁡N\dim K<\dim N サブセットである B(表記: A ⊆ B)であれば、各値の場合にのみ、 A iは、j個のインデックスに現れる Bはiは+ I '、J + J '整数のいくつかのペアのための(I '、J ')。AAABBBA⊆BA⊆BA\subseteq BAi,jAi,jA_{i,j}Bi+i′,j+j′Bi+i′,j+j′B_{i+i^\prime,j+j^\prime}(i′,j′)(i′,j′)(i^\prime, j^\prime) 注:一部のマトリックスには複数のソリューションがあります(または[[3,3],[1,2]]として解決される[[2,1,0],[3,3,3],[0,1,2]]など[[3,3,3],[1,2,1],[3,3,3]])。有効なソリューションの少なくとも1つを出力する必要があります。 テストケース input example output [[1, 2, 3], [4, 5, 6]] [[1, 2, 3, 0], [4, 5, 6, 0], [0, …

13
最初最後最後最初
チャレンジ タスクは簡単です。配列と最初と最後の値が与えられた場合:最初の後の最後の最初と最後の前の最初の最後を返します。 または単純に:配列var1、var2を指定します。 配列の例: [var2、var1、、var2、、var2、var1、var2、] 戻り値: 配列に表示される最初のvar1の右側にある最初のvar2のインデックス。 [VAR2、第VAR1、第VAR2、第VAR2、VAR1、第VAR2、】 配列に表示される最後のvar2の左側にある最初のvar1のインデックス。 [var2、、2番目のvar1、、var2、、var2、最初のvar1、最後のvar2、] 入力 2つの異なる正の整数 正の整数の配列 出力 回答のインデックス、順番 ルール 配列には各変数が少なくとも1つ含まれます(最小サイズは2) 入力が機能すると仮定する 例:0, 1 [1, 0]または同様の失敗 IOは柔軟です 例 Input First = 2; Last = 4; [0, 2, 4, 2, 3, 1, 4, 0, 1, 2, 4, 9] Output 2, 9 Input First = 4; …

12
複製された行列の合計
数のリスト[ a 1 a 2 ... a n ]が与えられ、すべての行列Aᵢの合計を計算します。ここで、Aᵢは次のように定義されます(mはすべてのaᵢの最大値です)。 1 2 ⋯ (i-1) i (i+1) ⋯ n +---------------------------- 1 | 0 0 ⋯ 0 aᵢ aᵢ ⋯ aᵢ 2 | 0 0 ⋯ 0 aᵢ aᵢ ⋯ aᵢ . . . . . . . . . . . . …

2
私の番号の隣人を見つける
入力は、近傍情報を含むi行で構成されます。各I 番目の行は、の隣人表す、4つの値が含まれている私に北、東、南と西はそれぞれ、方向を。したがって、各値は、行1から開始して、i 番目の行の指定された方向の隣接を表し、最大65,535行になります。0値は、その方向への隣人を示していません。 たとえば、最初の行が「0 2 3 10」の場合、i隣人には3つの隣人がいることを意味します。北に1人、東に2人、南に3人、西に10人です。 北西に最も近い値から始めて、近隣の配列を出力する必要があります。各ネイバーは、他のネイバーに対する相対的な位置に1回だけ表示されます。いくつかの例を見てみましょう。 入力: 0 0 0 0 隣人なし(空の場合)、出力: 1 入力: 0 2 0 0 0 0 0 1 1には東に隣接2があります。2には西に隣接1があります 出力: 1 2 入力: 0 2 0 0 0 0 3 1 2 0 0 0 1には東に隣接2があります。2には、西に隣接1、南に3があります。3は北に隣人2がいます 出力: 1 2 3 入力: 2 0 0 …

7
周期の配列を数える
period文字列は、任意の部品そのオーバーハングを無視し、自身と一致するように文字列の最短非ゼロのシフトです。そのため、たとえばabcabcabperiodがあり3ます。慣例により、このようなシフトがない場合、文字列の長さはピリオドに等しいと言います。期間だから、abcdeIS 5との期間aです1。 より正式な用語では、文字列の期間はS最小であるi &gt; 0ためS[1,n-i] == S[i+1,n](からインデックス付け1)。 2の長さの累乗の特定の文字列Sについて、2の長さの累乗のすべてのプレフィックスの周期を計算します。たとえば、検討してくださいS = abcabcab。計算する期間は次のとおりです。 'a', 1 'ab', 2 'abca', 3 'abcabcab', 3 実際には、ピリオドの配列、つまりを出力するだけです[1, 2, 3, 3]。 2の与えられた正のべきのために、nすべての可能なバイナリストリングを考えてくださいS。バイナリ文字列は単に1sと0sの文字列であるため、まさに2^nそのような文字列が存在することを思い出してください(つまり2、べきですn)。それぞれについて、この周期の配列を計算できます。 課題はn、入力として(2のべき乗)を受け取り、そのような配列がいくつあるかを計算するコードを記述することです。 答えn = 1, 2, 4, 8, 16, 32, 64, 128は: 1, 2, 6, 32, 320, 6025, 216854, 15128807 の個別の周期配列の完全なセットn = 4は次のとおりです。 1, 1, 1 1, 1, …

27
配列の要素間のすべての非順序ペア
仕事: 配列の要素間で可能なすべてのペアを含む配列を返します。 例 a=["a", "b", "c", "d"];帰りからb=[["a","b"],["a","c"],["a","d"],["b","c"],["b","d"],["c","d"]]。 可能な組み合わせがすべて含まれていて、明らか["b","d"]に同じである限り、ペアは任意の順序にできます["d","b"]。 入力 クラスの文字で構成される一意の文字列要素の配列[a-z]。 出力 入力配列の要素の可能なすべてのペアを含む2D配列。 テストケース input=["a","b","c"]; //output=[["a","b"],["a","c"],["b","c"]] input=["a","b","c","d","e"]; //output=[["a","b"],["a","c"],["a","d"],["a","e"],["b","c"],["b","d"],["b","e"],["c","d"],["c","e"],["d","e"]] 注:このチャレンジの重複は見つかりませんでした。ある場合は、質問をドロップするためのコメントで通知してください。

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