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

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

23
デッキのシャッフルをやめて、もうプレイしてください。
チャレンジ: 入力:範囲内の明確な正整数の。[1,list-size][1,list-size][1, \text{list-size}] 出力:整数:リストがリッフルシャッフルされる回数。リストの場合、これはリストが2つの半分に分割され、これらの半分がインターリーブされることを意味します(つまり、リストを[1,2,3,4,5,6,7,8,9,10]1回リッフルシャッフルすると結果が[1,6,2,7,3,8,4,9,5,10]になるため、このチャレンジでは入力[1,6,2,7,3,8,4,9,5,10]がになります1)。 チャレンジルール: リストには、の範囲の正の整数のみが含まれると仮定でき(または 0インデックス付きの入力リストを選択した場合は)。[1,list-size][1,list-size][1, \text{list-size}][0,list-size−1][0,list-size−1][0, \text{list-size}-1] すべての入力リストは、有効なリフルシャッフルリスト、またはシャッフルされていないソート済みリスト(この場合、出力は0)のいずれかであると想定できます。 input-listには少なくとも3つの値が含まれると想定できます。 段階的な例: 入力: [1,3,5,7,9,2,4,6,8] 一度アンシャフリングすると[1,5,9,4,8,3,7,2,6]、次のよう[1, ,5, ,9, ,4, ,8]になります。偶数の0インデックスが付けられたすべてのアイテムが最初に来て、その後、奇数の0インデックスが付けられたすべてのアイテムがその後に来るためです[ ,3, ,7, ,2, ,6, ]。 リストはまだ順序付けられていないため、続行します。 もう一度リストをUnshufflingは次のようになります[1,9,8,7,6,5,4,3,2] :再びになる[1,8,6,4,2,9,7,5,3] その後:[1,6,2,7,3,8,4,9,5] :そして最後に[1,2,3,4,5,6,7,8,9]、我々はunshuffling行われているので、順序付けられたリストです。 を取得するために元のファイルを[1,3,5,7,9,2,4,6,8]5回シャッフル解除した[1,2,3,4,5,6,7,8,9]ため、出力は5この場合になります。 一般的なルール: これはcode-golfであるため、バイト単位の最短回答が優先されます。 コードゴルフ言語では、コードゴルフ以外の言語で回答を投稿しないようにしないでください。「任意の」プログラミング言語の可能な限り短い答えを考えてみてください。 デフォルトのI / Oルールを使用した回答には標準ルールが適用されるため、STDIN / STDOUT、関数/メソッド、適切なパラメーター、戻り値型、完全なプログラムを使用できます。あなたの電話。 デフォルトの抜け穴は禁止されています。 可能であれば、コードのテスト(TIOなど)へのリンクを追加してください。 また、回答の説明を追加することを強くお勧めします。 テストケース: Input Output [1,2,3] 0 [1,2,3,4,5] 0 [1,3,2] 1 …

30
2の累乗の合計
チャレンジ 整数の入力を指定xすると1 <= x <= 255、を合計したときに与える2のべき乗の結果を返しますx。 例 入力が与えられた場合: 86 プログラムは以下を出力するはずです。 64 16 4 2 入力: 240 出力: 128 64 32 16 入力: 1 出力: 1 入力: 64 出力: 64 特定の2のべき乗が合計に存在しない場合、出力にはゼロが含まれる場合があります。 たとえば、入力65はを出力する場合があります0 64 0 0 0 0 0 1。 得点 これはcode-golfであるため、各言語で最も短い回答が優先されます。
31 code-golf  binary  code-golf  sequence  integer  chess  code-golf  number  arithmetic  matrix  code-golf  code-golf  combinatorics  grid  set-partitions  code-golf  array-manipulation  graph-theory  code-golf  number  code-golf  string  decision-problem  code-golf  matrix  cellular-automata  3d  code-challenge  restricted-source  printable-ascii  code-golf  board-game  code-golf  geometry  grid  code-golf  word-puzzle  code-golf  matrix  sorting  code-golf  code-golf  string  decision-problem  code-golf  matrix  cellular-automata  code-golf  decision-problem  code-golf  math  number  arithmetic  restricted-source  code-golf  code-golf  number  integer  matrix  code-golf  date  code-golf  matrix  code-golf  sequence  combinatorics  chemistry  code-golf  array-manipulation  popularity-contest  code-golf  code-golf  natural-language  code-golf  number  integer  sorting  substitution  code-golf  string  number  date  encode  code-golf  decision-problem  code-golf  string  subsequence  code-golf  string  alphabet  code-golf 

19
敵対的な除数
正の整数の除数の中には、実際に互いに嫌いなものがあり、1つ以上の一般的な数字を共有することを好みません。 これらの整数は、敵対的除数(HDN) と呼ばれます 例 数値に9566は4除数があります1, 2, 4783 and 9566 (ご覧のとおり、同じ数字を共有するものはありません)。 したがって、9566はH ostile Dです。 ivisor Nアンバー 番号9567はHDNではありません除数(1, 3, 9, 1063, 3189, 9567)はいくつかの一般的な数字を共有するため、。 ここに最初のいくつかのHDNがあります 1,2,3,4,5,6,7,8,9,23,27,29,37,43,47,49,53,59,67,73,79,83,86,87,89,97,223,227,229,233,239,257,263,267,269,277,283,293,307,337... 仕事 上記のリストに続き、あなたの仕事はn番目の HDNを見つけることです 入力 正の整数nから1の4000 出力 nth HDN テストケース 以下に1インデックス付きのテストケースを示します。 混乱を避けるために、回答で使用するインデックスシステムを明記してください。 input -> output 1 1 10 23 101 853 1012 26053 3098 66686 4000 85009 これはcode-golfであるため、バイト単位の最低スコアが優先されます。 …

21
3つの「R」:リバース、リオーダー、リピート
数字をいじくり回しながら、数字のリストから生成できる面白い順列を見つけました。この同じ順列を十分な回数繰り返すと、常に元の配列に戻ります。次のリストを使用してみましょう。 [1, 2, 3, 4, 5] 例として 配列を逆にします。今、私たちの配列は [5, 4, 3, 2, 1] 各ペアを並べ替える(スワップする)。リストには[5, 4]、との2つのペアがあり[3, 2]ます。残念ながら、1ペアにグループ化することはできませんので、そのままにしておきます。各ペアを交換すると、新しい配列は次のようになります。 [4, 5, 2, 3, 1] 元の配列に戻るまで、手順1と2を繰り返します。次の4つのステップは次のとおりです。 Step 2: Start: [4, 5, 2, 3, 1] Reversed: [1, 3, 2, 5, 4] Pairs Swapped: [3, 1, 5, 2, 4] Step 3: Start: [3, 1, 5, 2, …

20
ファロは配列をシャッフルする
A ファロshuffleが頻繁に「シャッフル」デッキにマジシャンで使用される技術です。ファロシャッフルを実行するには、まずデッキを2つの等しい半分にカットしてから、2つの半分をインターリーブします。例えば [1 2 3 4 5 6 7 8] シャローファロは [1 5 2 6 3 7 4 8] これは何回でも繰り返すことができます。興味深いことに、これを十分な回数繰り返すと、常に元の配列に戻ります。例えば: [1 2 3 4 5 6 7 8] [1 5 2 6 3 7 4 8] [1 3 5 7 2 4 6 8] [1 2 3 4 5 6 …
31 code-golf  permutations  card-games  code-golf  graphical-output  random  code-golf  image-processing  color  code-golf  primes  code-golf  math  arithmetic  combinatorics  decision-problem  code-golf  sequence  number-theory  binary  code-golf  number-theory  set-theory  code-golf  hashing  code-golf  game  card-games  code-golf  ascii-art  code-golf  arithmetic  array-manipulation  jelly  code-golf  string  array-manipulation  code-golf  sorting  code-challenge  code-golf  number  date  binary  code-golf  arithmetic  code-golf  math  number  linear-algebra  polynomials  code-golf  ascii-art  code-golf  grid  decision-problem  code-golf  string  combinatorics  code-golf  string  kolmogorov-complexity  arithmetic  date  code-golf  number  data-structures  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  array-manipulation 

30
配列の深さを決定する
月曜日の夕方の簡単なチャレンジ(まあ、または世界の他の半分の火曜日の朝...) 入力として、正の整数のネストされた潜在的に不規則な配列が与えられます: [1, [[2, 3, [[4], 5], 6, [7, 8]], 9, [10, [[[11]]]], 12, 13], 14] あなたの仕事は、その深さを決定することです。これは、リスト内の整数の最大の入れ子の深さです。この場合、の深さは11で6、これが最大です。 空の配列はないと想定できます。 プログラムまたは関数を作成し、STDIN(または最も近い代替)、コマンドライン引数または関数引数を介して入力を取得し、STDOUT(または最も近い代替)、関数の戻り値または関数(out)パラメーターを介して結果を出力できます。 入力は、実際の情報が前処理されない限り、非長方形配列(深さの異なるネストされた配列)をサポートする任意の便利なリストまたは文字列形式で取得できます。 配列の形状に関連する組み込み関数(ネストされた配列の次元を取得するこの課題を解決する組み込み関数を含む)を使用しないでください。これの唯一の例外は、配列の長さを取得することです。 標準のコードゴルフ規則が適用されます。 テストケース [1] -> 1 [1, 2, 3] -> 1 [[1, 2, 3]] -> 2 [3, [3, [3], 3], 3] -> 3 [[[[1], 2], [3, [4]]]] -> 4 [1, …

30
指定された2つのインデックスを交換します
正の整数の配列と2つの異なる有効なインデックスを指定すると、2つのインデックスに対応する2つの要素が入れ替わった配列を返します。 0インデックス付けまたは1インデックス付けを選択できますが、以下のテストケースは0インデックス付けされます。 array m n output [1,2,3,4] 0 1 [2,1,3,4] [5,8,9] 0 2 [9,8,5] [11,13,15,3] 1 2 [11,15,13,3] [11,13,15,3] 2 1 [11,15,13,3] [11,15,15,3] 2 1 [11,15,15,3] これはcode-golfです。バイト単位の最短回答が優先されます。標準の抜け穴が適用されます。

30
先行ゼロと後続ゼロを削除します
次のような非負の整数のみを含む空でないリスト/配列がある場合: [0, 0, 0, 8, 1, 4, 3, 5, 6, 4, 1, 2, 0, 0, 0, 0] 末尾のゼロと先頭のゼロを削除してリストを出力します。 この出力は次のようになります。 [8, 1, 4, 3, 5, 6, 4, 1, 2] 他のいくつかのテストケース: [0, 4, 1, 2, 0, 1, 2, 4, 0] > [4, 1, 2, 0, 1, 2, 4] [0, 0, 0, 0, …

8
マージソートの視覚化
マージソートは、指定されたリストを半分に分割し、両方の小さなリストを再帰的にソートし、それらを1つのソート済みリストにマージして戻すソートアルゴリズムです。再帰の基本ケースはシングルトンリストに到達しているため、さらに分割することはできませんが、定義ごとに既にソートされています。 リスト上のアルゴリズムの実行は[1,7,6,3,3,2,5]、次の方法で視覚化できます。 [1,7,6,3,3,2,5] / \ split [1,7,6,3] [3,2,5] / \ / \ split [1,7] [6,3] [3,2] [5] / \ / \ / \ | split [1] [7] [6] [3] [3] [2] [5] \ / \ / \ / | merge [1,7] [3,6] [2,3] [5] \ / \ / merge [1,3,6,7] …

15
アレイをどれだけ激しく粉砕できますか?
数字の配列を粉砕するプロセスを定義しましょう。クラッシュでは、配列を左から右に読み取ります。ある時点で2つの同じ要素が連続して出現した場合、最初の要素を削除し、2番目の要素を2倍にします。たとえば、次の配列を粉砕するプロセスです [5,2,2,3] ^ [5,2,2,3] ^ [5,2,2,3] ^ [5,4,3] ^ [5,4,3] ^ 同じ要素を複数回折りたたむことができます。たとえば、押しつぶされたときに[1,1,2]なり[4]ます。 配列を押しつぶすプロセスによって配列が変更されない場合、配列を押しつぶせないものと呼びます。例えば、粉砕された後も[1,2,3]まだ[1,2,3]です。 あなたの仕事は、配列を取得し、それを破壊できないようにするために必要なクラッシュの数を決定することです。0から2 32 -1の範囲の整数のみをサポートする必要があります これはコードゴルフなので、回答はバイト単位でスコアリングされ、バイト数は少ない方が良いです。 テストケース [1] -> 0 [1,1] -> 1 [2,1,1] -> 2 [4,2,1,1] -> 3 [2,2,2,1,1] -> 3 [0,0,0,0] -> 1 [4,0,0,0,4] -> 1 [4,0,0,0,0,4] -> 1 [] -> 0

30
角から長方形の配列を再構築する
私はかつて美しい長方形の配列を持っていました。それは非常に対称的でしたが、残念ながらバラバラになり、今では左上隅しかありません。あなたの仕事は、元のアレイを再構築することです。 プログラムは整数の2次元配列を受け取ります。解析を簡単にするために、それらはすべて1〜9であると想定できます。タスクは、配列の列、行、およびその両方を逆にし、結果の角を縫い合わせて、結果の配列を返すことです。 配列の次元は少なくとも1x1であると仮定できます。 テストケース: Input: 1 2 3 4 5 6 Output: 1 2 3 3 2 1 4 5 6 6 5 4 4 5 6 6 5 4 1 2 3 3 2 1 Input: 1 Output: 1 1 1 1 Input: 9 9 9 Output: 9 9 …

18
N次元のアイデンティティ「マトリックス」
正の整数を指定すると、インデックスのすべてのコンポーネントが等しい場合とそうでない場合の配列である-次元単位「マトリックス」をn出力します。は、N x N x N xを意味します...NN^N10N^N 1 -> [1] 2 -> [[1,0],[0,1]] 3 -> [[[1,0,0],[0,0,0],[0,0,0]],[[0,0,0],[0,1,0],[0,0,0]],[[0,0,0],[0,0,0],[0,0,1]]] 4 -> [[[[1,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]],[[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,1,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]],[[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,1,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]],[[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,1]]]] たとえば、aある4次元のアイデンティティ「マトリックス」、そして持つエントリのみを1だろうa[0][0][0][0]、a[1][1][1][1]、a[2][2][2][2]、とa[3][3][3][3]。 これはcode-golfです。バイト単位の最短回答が優先されます。標準の抜け穴が適用されます。

21
最も近い大きい数を見つける
タスク 整数の配列がある場合、例えば: [-1,476,578,27,0,1,-1,1,2] その配列のインデックス(この例では0ベースのインデックスを使用していますが、1ベースのインデックスも使用できます)。 index = 5 v [-1,476,578,27,0,1,-1,1,2] 次に、そのインデックスの要素より大きい最も近い数値を返します。この例では、1より大きい最も近い数は27です(2インデックス離れている)。 index = 5 v [-1,476,578,27,0,1,-1,1,2] ^ Nearest greater number Output = 27 仮定 Nearestにはラッピングは含まれません。 プログラムに長さ1の配列が与えられることはありません(例:)[55]。 あなたは常に与えられた要素よりも大きい数があると仮定する必要があります。 等距離にある要素よりも2つの数値が大きい場合、どちらかを返すことができます。 I / Oペア Input: Index = 45 Array = [69, 43, 89, 93, 62, 25, 4, 11, 115, 87, 174, 60, 84, 58, …

4
2Dマトリックスの回転
次の(2D)マトリックスがあるとします。 [[1, 2, 3, 4 ], [5, 6, 7, 8 ], [9, 10, 11, 12], [13, 14, 15, 16]] マトリックスを反時計回りに R(90度単位ではなく、毎回1ずつ)回転させます。 1 2 3 4 2 3 4 8 3 4 8 12 5 6 7 8 --> 1 7 11 12 --> 2 11 10 16 9 10 11 …

30
ASCIIの三角形
あなたの仕事は、ASCII三角形を印刷するプログラムまたは関数を書くことです。次のようになります。 |\ | \ | \ ---- プログラムはn、制約付きの単一の数値入力を受け取ります0 <= n <= 1000。上記の三角形の値はでしたn=3。 ASCIIの三角形にはnバックスラッシュ(\)と垂直バー(|)、n+1行とダッシュ(-)があり、各行には最終的な行のほかに行番号(0から始まる、つまり最初の行は行0)と等しいスペースがあります。 。 例: 入力: 4 出力: |\ | \ | \ | \ ----- 入力: 0 出力: このテストケースでは、出力は空でなければなりません。空白なし。 入力: 1 出力: |\ -- 入力と出力は、私が指定したとおりでなければなりません。 これはcode-golfなので、できるだけ短いコードを目指してください!
30 code-golf  ascii-art  code-golf  rubiks-cube  code-golf  path-finding  maze  regular-expression  code-golf  math  rational-numbers  code-golf  kolmogorov-complexity  graphical-output  code-golf  tips  code-golf  string  permutations  code-golf  sorting  base-conversion  binary  code-golf  tips  basic  code-golf  number  number-theory  fibonacci  code-golf  date  code-golf  restricted-source  quine  file-system  code-golf  code-golf  math  code-golf  ascii-art  code-golf  math  primes  code-golf  code-golf  math  matrix  code-golf  string  math  logic  factorial  code-golf  palindrome  code-golf  quine  stateful  code-golf  interactive  code-golf  board-game  code-golf  math  arithmetic  code-golf  string  code-golf  math  matrix  code-golf  math  abstract-algebra  polynomials  code-golf  date  code-golf  string  array-manipulation  sorting  code-golf  game  code-golf  string  code-golf  ascii-art  decision-problem  code-golf  number  sequence  code-golf  code-golf  code-golf  sequence  fibonacci  code-golf  math  geometry  random  code-golf  code-golf  math  decision-problem  fractal  rational-numbers  code-golf  number  number-theory  code-golf  combinatorics  permutations  card-games  code-golf  math  sequence  array-manipulation  fibonacci  code-golf  sequence  decision-problem  graph-theory  code-golf  ascii-art  parsing  lisp  code-golf  string  math  natural-language  logic  code-golf  math  logic  code-golf  string  alphabet  code-golf  string  code-golf  string 

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