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

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

23
混乱を列挙する
ある正の整数与えられると、オブジェクトのすべての混乱を生成します。nnnnnn 詳細 混乱は不動点のない順列です。(この手段は、すべての混乱の数にすることはできません番目のエントリ)。iiiiii 出力は、数字の並べ替え(または)で構成される必要があります。(1,2,…,n)(1,2,…,n)(1,2,\ldots,n)(0,1,2,…,n−1)(0,1,2,…,n−1)(0,1,2,\ldots,n-1) あるいは、(またはそれぞれ)の混乱を常に印刷することもできますが、そうする必要があります。(n,n−1,…,1)(n,n−1,…,1)(n,n-1,\ldots,1)(n−1,n−2,…,1,0)(n−1,n−2,…,1,0)(n-1,n-2,\ldots,1,0) 出力は決定的である必要があります。つまり、入力として指定されたでプログラムが呼び出されるときは常に、出力は同じである必要があります(これには、混乱の順序が同じままである必要があります)。毎回有限の時間(確率1でこれで十分ではありません)。nnn と仮定できます。n⩾2n⩾2 n \geqslant 2 特定のnnnについては、すべての混乱を生成するか、インデックスとして機能する別の整数kkkを取得し、kkk番目の混乱を(選択した順序で)出力できます。 例 混乱の順序は、ここにリストされている順序と同じである必要はないことに注意してください。 n=2: (2,1) n=3: (2,3,1),(3,1,2) n=4: (2,1,4,3),(2,3,4,1),(2,4,1,3), (3,1,4,2),(3,4,1,2),(3,4,2,1), (4,1,2,3),(4,3,1,2),(4,3,2,1) OEIS A000166は、混乱の数をカウントします。

26
合計スロットの計算
順番に実行する必要があるジョブのリストが与えられ、それぞれが実行するスロットを使用して、ジョブを実行した後、次の2つのスロットで同じジョブを実行できない場合(スロットの冷却) )?ただし、このクーリングオフスロットには別のジョブを割り当てることができます。 例えば、 [9,10,9,8] => output: 5 ジョブはとして割り当てられるため[9 10 _ 9 8]です。 1.まず、9には2つの冷却スポットが必要です_ _。だから私たちは始め9 _ _ます。 2.次のジョブ10は前のジョブ9とは異なるため、_ _の1つを割り当てることができます。その後、我々は持ってい9 10 _ます。 3.第三に、最初のジョブ9は同じジョブであり、冷却時間を必要とするため、9は現在割り当てられません。9 10 _ 9。 4.最後に、8は以前の2つのジョブと同じではないため、9の直後に割り当てることができ、これは最後のジョブであるため、冷却時間を必要としません。最終的なリストは9 10 _ 9 85で、予想される出力はスポット数(またはスロット数)です。 テストケース: [1,2,3,4,5,6,7,8,9,10] => output : 10 ([1 2 3 4 5 6 7 8 9 10]) [1,1,1] => output: 7 ([1 …

3
死んだカエルの歩行
前書き ジョニーはフロッガーをプレイしたい。しかし、彼はあまりよくありません。実際、彼はプラットフォームが移動した後にのみ、前進しようとします。 ジョニーのカエルが道の終わりに到達したのか、途中で死んだのかを調べてください。 チャレンジ このプログラムは、0sおよび1sで構成されるフロッガーグリッドを次の形式で入力として受け取ります。 グリッドの幅と長さはランダムで、少なくとも3x3 1 プラットフォームを表します 0 水を表します F カエルの開始位置を表します グリッドの最初と最後の行はすべて1s のみで構成され、移動せず、カエルFは最後の行にランダムに配置されます すべての中間層は常に移動し、各行の最後<または>末尾に、左または右に移動するかどうかを示します これらの記号をすべて独自のものに置き換えて、それらがすべて明確であり、回答で置き換えを指定する限り、許可されます。 入力は、互換性のある任意の形式(改行を含む文字列、文字列の配列、文字の配列、...)にすることができます。 チャレンジルール ターンごとに、すべてのプラットフォームは、<または>記号で示された方向に基づいて1マス移動 プラットフォームが「スクリーン」から押し出されると、グリッドの反対側に再び表示されます カエルが動くプラットフォーム上にある場合、カエルも一緒に移動します その後、カエルは一番上の行に向かって1つの正方形をジャンプします。カエルは毎ターン移動します。 カエルが水に飛び込んだ場合(0)、または移動するプラットフォームとともにグリッドの側面に触れた場合、カエルは死にます。 あなたのプログラムは、カエルが生き残る場合は真実の値を出力し、それ以外の場合は偽の値を出力する必要があります。 これはcode-golfであるため、バイト単位の最短回答が勝ちます。標準の抜け穴が適用されます。 例 例1 入力 11111 00111> 00101< 1F111 出力 1 実行 ターン1: 11111 10011 01010 1F111 11111 10011 0F010 11111 ターン2: 11111 11001 F0100 11111 11111 …

24
シーケンスステップを取得する
チャレンジ 一連の数字が与えられたら、一連のステップを返す関数を作成します。 シーケンスは次のようになります N >= 3 シーケンスは少なくとも1回ステップを繰り返します シーケンスには自然数のみが含まれます 関数またはプログラムは、可能な限り短い手順のシーケンスを返す必要があります 例: 入力: [1, 2, 3, 5, 6, 7, 9, 10, 11, 13, 14, 15, 17] 出力: [1, 1, 2] 説明:初期シーケンスはから始まります1 => 2 (1 step), 2 => 3 (1 step), 3 => 5 (2 steps)。その後、繰り返します。出力は[1 step, 1 step, 2 steps] => [1, …

23
綴られたシリアル番号を並べ替える
2つ以上の等しい長さの2つ以上のスペルアウトされたシリアル番号のリストがある場合、たとえば [[ "three" , "one" , "four" ], [ "one" , "five" , "nine" ], [ "two" , "six" , "five" ], [ "three" , "five" , "eight" ]] 単語が表す数字でリストをソートします。 [[ "one" , "five" , "nine" ], [ "two" , "six" , "five" ], [ "three" , "one" , "four" …

27
リストをすばやく再グループ化する
グループ化はリストを取り、それを等しい隣接要素の新しいリストに分割します。例えば [1,1,2,1,1] -> [[1,1],[2],[1,1]] これらのグループの長さを取得すると、整数の新しいリストが取得されます [1,1,2,1,1] -> [2,1,2] あなたの仕事は、正の整数のリストを受け取るプログラムを作成し、結果のリストに単一の要素が含まれる前にグループ化および長さ化できる回数を見つけることです。たとえば、リスト[1,2,3,3,2,1]を4回再グループ化できます [1,2,3,3,2,1] [1,1,2,1,1] [2,1,2] [1,1,1] [3] これはコードゴルフであるため、回答はバイト単位でスコアリングされ、バイト数は少ない方が良いでしょう。 テストケース [1,2,3,3,2,1] -> 4 [1,2,3,4,5,6,7] -> 2 [1,1,1,1,1,1] -> 1 [2] -> 0 [1,2,4] -> 2 [1,2,2,1,1,2] -> 4 [1,2,2,1,1,2,1,2,2] -> 5 [1] -> 0

7
1Dホッピング配列迷路
触発さ我々の塔は、ホッピングんとに関連した2D迷路マイナス1D 前書き あなたの仕事は、指定されたルールに従って配列迷路から抜け出すための最短経路を見つけることです。 チャレンジ n個の要素を持つ1D配列aは、n 個の点で構成される迷路と見なすことができます。インデックスkの点は、一方向にk + a [ k ]およびk - a [ k ] の点に接続されます。つまり、インデックスkのポイントからa [ k ]ステップだけ正確に前後にジャンプできます。配列の境界外のインデックスを持つポイントは、迷路外と見なされます。 これを説明するために、次の配列を検討してください。 [0,8,5,9,4,1,1,1,2,1,2] 現在5番目の要素にいる場合、要素は4であるため、9番目の要素まで4ステップ進むか、1番目の要素まで4ステップ戻ることができます。後者の場合、要素0になります。これは、それ以上移動できないことを示します。前者を実行すると、9番目の要素が2であるため、11番目の要素(再び2)にホップすることを選択できます。その後、「13番目の要素」に再びホップできます。配列し、迷路への出口と見なされます。 したがって、真ん中の要素から開始する場合、迷路から抜け出すための1つの方法は、1ステップ戻る、4ステップ進む、2ステップ進む、そして再び2ステップ進むこと[-1,4,2,2]です。これは配列として表すことができます。または[4,8,10,12]、すべての中間点と最終点のゼロベースのインデックスを記録する配列(1ベースのインデックスでも問題ありません)、または単に記号で表現できます[-1,1,1,1]。 低指数の端から迷路を脱出することも大丈夫です。 最初の表記を使用して同じ要素から開始すること[1,1,1,2,2]も解決策ですが、4つではなく5つのステップがあるため最適ではありません。 タスクは、配列の迷路から抜け出すための最短パスを見つけ出し、パスを出力することです。最適なパスが複数ある場合は、それらの一部またはすべてを出力できます。解決策がない場合は、有効なパスから識別可能な偽の値を選択して出力する必要があります(出力をまったく生成しなくてもかまいません)。 簡単にするために、配列内の要素の数は常に奇数であり、常に真ん中の要素から始めます。 テストケース テストケースはさまざまな形式の出力を示していますが、これらに限定されません。 Input Output [0,8,5,9,4,1,1,1,2,1,2] [-1,4,2,2] [2,3,7,1,2,0,2,8,9] [2,9] (or [2,-5] or [[2,9],[2,-5]]) [0,1,2,2,3,4,4,4,3,2,2,3,0] [1,-1,1,1] [0,1,2,2,4,4,6,6,6,6,6,4,2,1,2,2,0] [] スペック 関数または完全なプログラムを作成できます。 配列には非負の整数のみが含まれます。 任意の標準フォームを介して入力と出力を行うことができますが、使用するフォームを回答で指定してください。 これはcode-golfであり、最小バイト数が勝ちます。 いつものように、デフォルトの抜け穴がここに適用されます。

14
タワーホッピングをします
仕事 負でない整数aの配列を指定すると、位置0から開始して配列の「外側」にジャンプするために必要な右方向ジャンプの最小数を決定します。そうしない場合はゼロ/ nullを返します。 インデックスからのジャンプiは、配列インデックスの最大増加分であると定義されていますa[i]。 外部へのジャンプは、ジャンプの結果のインデックスiが配列の範囲外であるジャンプです。そのため、1ベースのインデックス付けi>length(a)では、0ベースのインデックス付けでは、i>=length(a)。 例1 考慮してくださいArray = [4,0,2,0,2,0]: Array[0] = 4 -> You can jump 4 field Array[1] = 0 -> You can jump 0 field Array[2] = 2 -> You can jump 2 field Array[3] = 0 -> You can jump 0 field Array[4] = 2 -> You …

30
消える要素
文字列Sとインデックスのリストを指定すると、その結果をの新しい値として使用しながら、の各インデックスの要素を削除してX変更SしSますS。 例えば、与えられたS = 'codegolf'とX = [1, 4, 4, 0, 2]、 0 1 2 3 4 5 6 7 | c o d e g o l f | Remove 1 c d e g o l f | Remove 4 c d e g l f | Remove 4 c …
17 code-golf  string  array-manipulation  code-golf  string  ascii-art  code-golf  number  sequence  pi  code-golf  number  array-manipulation  code-golf  string  ascii-art  code-golf  math  number  game  code-golf  math  sequence  polynomials  recursion  code-golf  math  number  sequence  number-theory  code-golf  permutations  balanced-string  code-golf  string  ascii-art  integer  code-golf  decision-problem  hexagonal-grid  code-golf  ascii-art  kolmogorov-complexity  code-golf  number  code-golf  matrix  binary-matrix  code-golf  math  statistics  code-golf  string  polyglot  code-golf  random  lost  code-golf  date  path-finding  code-golf  string  code-golf  math  number  arithmetic  number-theory  code-golf  tetris  binary-matrix  code-golf  array-manipulation  sorting  code-golf  number  code-golf  array-manipulation  rubiks-cube  cubically  code-golf  grid  optimization  code-golf  math  function  code-golf  string  quine  code-golf  ascii-art  grid  code-golf  decision-problem  grid  simulation  code-golf  math  sequence  code-golf  path-finding  code-golf  ascii-art  grid  simulation  code-golf  number  whitespace  code-golf  sequence  code-golf  sequence  code-golf  sequence  integer  code-golf  math  game  code-golf  internet  stack-exchange-api  code-golf  sequence  code-golf  internet  stack-exchange-api  code-golf  math  factoring  code-challenge  sequence  polyglot  rosetta-stone  code-golf  string  browser  code-golf  date  code-golf  base-conversion  code-challenge  cops-and-robbers  hello-world  code-golf  cops-and-robbers  hello-world 

25
シンプルなパターン
入力: 選択した入力形式での2つの1桁(それらをm、と呼んでみましょうn)と2つの文字(aとと呼んでみましょうb)。 出力: チュートリアルでは、のふりをしm=2, n=5, a='a', b='b'ます。 出力は、4つの入力から作成された文字列になります。resultvalueでstringを呼び出しましょう""。まず、CONCATENATE aへのresult m回なので、CONCATENATE aへresult 2回。resultに等しくなりましたaa。第二に、CONCATENATE bへのresult m回なので、CONCATENATE bへresult 2回。resultに等しくなりましたaabb。最後に、resultがすでにより長い場合n、resultlengthを持つように切り捨てnます。それ以外の場合は、のm長さの実行aとが長さになるbまで交互に続けます。最後は、長さです。resultnresultaabba5 テストケース: Input: m = 2, n = 4, a = A, b = B Output: AABB Input: m = 3, n = 8, a = A, b = B Output: AAABBBAA Input: m = …
17 code-golf  string  code-golf  arithmetic  code-golf  string  array-manipulation  rubiks-cube  code-golf  math  number  code-golf  tips  bash  code-golf  ascii-art  music  code-golf  arithmetic  code-golf  math  number  arithmetic  integer  code-golf  number  array-manipulation  code-golf  geometry  grid  set-partitions  code-golf  math  number  code-golf  combinatorics  code-golf  regular-expression  code-golf  permutations  code-golf  ascii-art  code-golf  number  array-manipulation  matrix  code-golf  kolmogorov-complexity  compile-time  cops-and-robbers  polyglot  cops-and-robbers  polyglot  code-golf  string  code-golf  string  ascii-art  matrix  animation  code-golf  ascii-art  code-golf  string  balanced-string  code-golf  integer  integer-partitions  expression-building 

13
逆順列インデックス
前書き リストの辞書式の順列n個の要素は、0から番号を付けることができ、N!-1.たとえば、3!= 6個の順列が(1,2,3)あろう(1,2,3)、(1,3,2)、(2,1,3)、(2,3,1)、(3,1,2)、(3,2,1)。 順列がリストに適用されると、その要素は順列の数字と同じ順序で並べられます。たとえば、yieldsに順列(2,3,1)を適用しl = (a,b,c)ます(l[2],l[3],l[1]) = (b,c,a)。 順列の逆は、この操作を逆にする順列として定義されます。つまり、順列を適用し、その逆(またはその逆)は配列を変更しません。たとえば、yの逆(2,3,1)は(3,1,2)、(b,c,a)yieldsに適用されるため(a,b,c)です。 また、順列自体に適用される順列の逆は、整数1… nを生成します。たとえば、yields に適用(3,1,2)し(2,3,1)ます(1,2,3)。 私たちは今、関数定義revind(Xをインデックスと順列の逆置換の指標として)のx。(興味がある場合、これはA056019です。) インデックスの順列ので、私は唯一の最後の変更のkリストの項目を場合に限っ 0≤ I < K!、我々は影響を与えずに、リストの先頭に任意の数の要素を追加することができますrevind(Iを)。したがって、リストの長さは結果に影響しません。 チャレンジ あなたのタスクはrevind(x)を実装することです。入力/引数として単一の非負整数xを取り、結果を単一の非負整数として出力/返す完全なプログラムまたは関数を作成します。 入力および出力は0インデックスまたは1インデックスの場合がありますが、これはそれらの間で一貫している必要があります。 インデックスによって順列を生成する、順列のインデックスを返す、または逆順列を見つける組み込み関数は禁止されています。(すべての順列または次の順列を生成するビルトインが許可されます。) 標準のコードゴルフ規則が適用されます。 例 以下の例は0から始まります。 Input Output 0 0 1 1 2 2 3 4 4 3 5 5 6 6 13 10 42 51 100 41 1000 3628 2000 …
17 code-golf  combinatorics  permutations  code-golf  image-processing  brainfuck  encode  steganography  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  fibonacci  code-golf  string  code-golf  sorting  popularity-contest  statistics  code-golf  ascii-art  kolmogorov-complexity  code-golf  code-golf  ascii-art  tic-tac-toe  code-golf  string  code-challenge  classification  test-battery  binary-matrix  code-golf  math  arithmetic  code-golf  ascii-art  random  code-golf  string  code-golf  number  binary  bitwise  code-golf  number  arithmetic  code-golf  math  ascii-art  code-golf  string  ascii-art  code-golf  string  ascii-art  code-golf  string  code-golf  counting  code-golf  number  binary  bitwise  decision-problem  code-golf  array-manipulation  code-golf  tips  brain-flak  code-challenge  quine  source-layout  code-generation  code-golf  linear-algebra  matrix  abstract-algebra  binary-matrix  code-golf  string  palindrome  code-golf  puzzle-solver  sudoku  code-golf  ascii-art  code-golf  graphical-output  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  code-golf  clock 

12
Wozモニター
チャレンジ 私は最近、8ビットのコンピューターを手に入れて、それらの機能や他の機能に魅了されています。したがって、このコードゴルフの目的は、Apple Iのためにスティーブウォズニアックによって設計されたウォズモニターの一部を複製することです。 2バイト幅の22個の16進値の配列(最小値$ 10、最大値$ FF)を保存し、n個の入力量を取得します。(通常2つ。Brainfuckのような言語は苦労するかもしれません)。 入力は、配列のどこから印刷を開始し、どこで停止するかを参照します。動作が定義された入力の開始値は、終了値以下になります。プログラムは次に間のすべての16進数値を印刷することができなければならないとを含む、進数を入力しました。 この例: Array 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 Values FF F4 B6 D7 40 00 00 A4 F0 00 FF 0D 9C 21 65 C4 02 28 …

12
シャミールの秘密の共有
与えられたn(プレイヤーの数)、 t(しきい値)、およびs(秘密)、出力nによって生成された秘密シャミール秘密分散アルゴリズム。 アルゴリズム このチャレンジの目的のために、計算はGF(251)(sizeの有限体251、または整数mod 251として知られる)で行われます。通常、フィールドは、サイズがより大きい素数になるように選択されnます。課題を簡素化するために、フィールドサイズは一定になります。251これは、8ビットの符号なし整数で表現できる最大の素数であるため選択されました。 t-1(包括的)範囲でランダムな整数を生成します[0, 250]。これらのラベル1を通過T-1 。 構築t-1用い番目の多項式をsのパワーの係数として工程1からの一定値とランダムな整数としてx:F(X)= S + X * 1 + X 2 * 2 + ... + X T- 1 * a t-1。 (包括的)範囲内の(f(z) mod 251)それぞれの出力。z[1, n] 参照実装 #!/usr/bin/env python from __future__ import print_function import random import sys # Shamir's Secret Sharing algorithm # Input …
17 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 

22
明確なふるい
整数のリストが与えられたら、真のインデックスを使用してリストから個別の値をフィルターできるようにブールマスクを作成します。真のインデックスとして選択されるインデックスは、同一の値に対応するインデックスのセットごとに1つだけが選択されている限り、重要ではありません。 入力は、ご使用の言語に適した形式の負でない整数の空でないリストになり、出力は上記の仕様に従ったブール値のリストになります。出力リストでは、真偽値と偽値の独自の定義を使用できます。 以下の例では、私は1真実であり0、虚偽であると定義しています。 [5, 4, 7, 1] Input [1, 1, 1, 1] Output Select only the values with with true indicies in the sieve [5 4 7 1] Contains zero duplicate values [5, 9, 7, 5, 6, 0, 5] [0, 1, 1, 1, 1, 1, 0] [ 9, 7, 5, …

8
地震の分析
バックグラウンド の ランダムドミノオートマトンは、セルオートマトンに触発された地震のためのおもちゃのモデル、です。この課題におけるタスクは、このモデルの単純化されたバージョンをシミュレートし、そこからデータを収集することです。 オートマトンはビット配列Aで定義され、k地震が発生する可能性のある断層線を表します。配列は境界で折り返されます。状態とA[i] = 0は、位置iがリラックスしていること、および興奮しA[i] = 1ていること、またはエネルギーが蓄積されていることを意味します。各タイムステップで、配列の1つの位置がランダムに均一に選択されます。その位置が緩和されると、興奮します(潜在的なエネルギーがシステムに追加されます)。その位置がすでに興奮している場合、それは地震を引き起こし、選択された位置とそれに接続されているすべての興奮した位置は再びリラックスします。リラックスする興奮した位置の数は、地震の大きさです。 例 配列を考える 100101110111 ランダムプロセスが左から2番目のビットを選択した場合、配列は次のように更新されます。 110101110111 ^ (でマークされた選択ビットは、以降^)でした0。次に、左から4番目のビット(分離1)を選択すると、マグニチュード1の地震がトリガーされ、ビットが0再び設定されます。 110001110111 ^ 次に、右から2番目のビットを選択すると、マグニチュード5の地震がトリガーされます。 000001110000 ^ 1選択されたものと同じ「クラスター」内のすべてのsは地震の一部であり、配列は境界で折り返されていることに注意してください。 タスク 入力として2つの正の整数kとを取りt、タスクはすべてのsのt初期の長さのk配列から開始して、タイムステップのランダムドミノオートマトンをシミュレートすることです0。出力は整数のリストLでkあり、L[i](1から始まるインデックス付けで)マグニチュードの地震の数が含まれますiシミュレーション中に発生したます。出力から末尾のゼロを削除できます。 入力k = 15およびについてt = 1000、いくつかの代表的な出力は [117, 97, 45, 26, 10, 5, 3, 1, 3, 0, 0, 0, 0, 0, 0] [135, 91, 58, 21, 8, 2, 2, …

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