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

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

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 

1
FIFOキャッシュの異常
これはからのフォローの挑戦である。この1あなたが最初の1つをチェックしてみてください混同している場合、。 まず、を、キャッシュに容量kがあり、いっぱいになったときに先入れ先出し(FIFO)排出方式を使用すると想定したリソースアクセスのシーケンスsが持つキャッシュミスの数とします。m (s 、k )m(s、k)m(s, k)ssskkk 次いで比与えられ、リソースアクセスの空でないシーケンスを返すSが存在するように、K > JとM (S 、K )≥ R ⋅ M (S 、jは)。r > 1r>1r > 1sssk > jk>jk > jM (S 、K )≥ R ⋅ M (S、J )m(s、k)≥r⋅m(s、j)m(s, k) \geq r \cdot m(s, j) 平易な英語では、シーケンス構築リソースのが大きなキャッシュは(少なくとも)は2つのキャッシュサイズがありますようにアクセスするのR倍以上解決するために使用するときにキャッシュ・ミスを秒。sssrrrsss たとえば、有効な出力は配列である(3 、2 、1 、0 、3 、2 、4 、3 、2 、1 …

13
配列データのグループ化
整数行列aと非負の整数を指定すると、番目の列の個別の値を、その列の値を持つ人の行にiマッピングするマッピングbを出力します。iaai あなたはそれiが半開の範囲内にある[0, num_cols(a))か(または[1, num_cols(a)]1ベースのインデックスを使用することを選択した場合)、すべての整数が言語の表現可能な範囲内にあると仮定することができます。入力と出力は、チャレンジの基本的な要件(2D配列-> intから2D配列のintへのマッピング)を満たす限り、合理的な方法で実行できます。マッピングが明確で一貫している限り、キーを出力に含める必要はありません。 例 [[1]], 0 -> {1: [[1]]} [[3, 4, 5], [1, 4, 2], [5, 5, 5], [7, 7, 7], [1, 5, 9]], 1 -> {4: [[3, 4, 5], [1, 4, 2]], 5: [[5, 5, 5], [1, 5, 9]], 7: [[7, 7, 7]]} [[1, 2, 3, 4, …

30
プライムパワーからプライムを回復する
定義:素数はp nの形式で表現できる自然数です。pは素数で、nは自然数です。 タスク:プライムパワーp n > 1の場合、プライムpを返します。 テストケース: input output 9 3 16 2 343 7 2687 2687 59049 3 得点:これはcode-golfです。バイト単位の最短回答が優先されます。
13 code-golf  arithmetic  primes  king-of-the-hill  python  board-game  code-golf  number  subsequence  code-golf  ascii-art  code-golf  array-manipulation  decision-problem  grid  fastest-algorithm  logic-gates  logic  code-golf  cards  code-golf  rational-numbers  code-golf  math  number  sequence  code-golf  array-manipulation  integer  code-golf  number  array-manipulation  code-golf  number  sequence  decision-problem  code-golf  ascii-art  number  code-challenge  sequence  arithmetic  sorting  code-golf  date  fastest-algorithm  code-golf  string  number  random  combinatorics  code-golf  combinatorics  code-golf  ascii-art  base-conversion  code-golf  array-manipulation  code-golf  string  code-golf  string  number  arithmetic  code-golf  kolmogorov-complexity  code-golf  string  array-manipulation  json  code-golf  puzzle-solver  code-golf  binary  graph-theory  code-golf  arithmetic  haskell  code-golf  string  cipher  code-golf  code-golf  string  parsing  alphabet  code-golf  string  code-golf  ascii-art  code-golf  string  number  code-golf  string  balanced-string 

3
配列からエントリを削除してソートし、要素の合計を最大化します
この課題は、入学試験からクローズドナンバーのサイバーセキュリティコースまでです。とにかくサイバーセキュリティとは関係なく、学生の論理的スキルとコーディングスキルをテストするだけです。 仕事 配列からエントリを削除するプログラムを作成して、残りの値が厳密に減少する順序で並べ替えられ、その合計が他のすべての可能な減少シーケンスの中で最大化されるようにします。 入出力 入力は、整数値の配列になり、厳密に大きいより0、すべて互いに異なります。ファイル、コマンドライン、またはstdinから入力を読み取るかどうかは自由に選択できます。 出力は降順でソートされます、入力のもののサブ配列になり、その合計は他の可能な降順でソートされたサブ配列よりも大きくなります。 注: [5, 4, 3, 2]は、とが隣接していない[5, 4, 1, 3, 2]場合でも、のサブ配列です。という理由だけで431ポップされました。 ブルートフォースソリューション もちろん、最も単純な解決策は、与えられた配列のすべての可能な組み合わせの中で繰り返し、最大の合計でソートされた配列を検索することです。 import itertools def best_sum_desc_subarray(ary): best_sum_so_far = 0 best_subarray_so_far = [] for k in range(1, len(ary)): for comb in itertools.combinations(ary, k): if sum(comb) > best_sum_so_far and all(comb[j] > comb[j+1] for j in range(len(comb)-1)): best_subarray_so_far …

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]]

4
配列を伸ばす
先ほど、配列を粉砕するプロセスを定義しました クラッシュでは、配列を左から右に読み取ります。ある時点で2つの同じ要素が連続して出現した場合、最初の要素を削除し、2番目の要素を2倍にします。 例は、次の配列を粉砕するプロセスです [5,2,2,4] ^ [5,2,2,4] ^ [5,2,2,4] ^ [5,4,4] ^ [5,4,4] ^ [5,8] ^ 同じ要素を複数回折りたたむことができることに注意してください。この例で2,2,4は8、1回のパスで折りたたまれました。 配列の粉砕は簡単になりましたが、難しいのは配列を粉砕することです。あなたの仕事は、正の整数の配列を入力として受け取り、繰り返し押しつぶされたときに入力を形成できる最大の配列を出力することです。たとえば、配列[4]は粉砕によって形成され、粉砕[2,2]は粉砕によって形成され[1,1,1,1]ます。非整数値を持つ[1,1,1,1]ことはできないため、これ以上クラッシュさせることはできず、それが答えです。 この0ような配列は無期限に拡張できるため、入力配列でa を受け取ることはありません。また、同じ奇数の番号が2つ並んでいるケースを受け取ることはありません。そのようなケースは、粉砕の結果ではありません。 これはコードゴルフであるため、回答はバイト単位で測定されたソースのサイズでスコアリングされ、バイト数は少ない方が良いです。 答えを始める前に、この挑戦​​は見かけよりもはるかに難しいと言いたいだけです。進むにつれて直観を確認し、答えがすべてのテストケースに合格することを確認します。 テストケース [] -> [] [5] -> [5] [6] -> [3,3] [8] -> [1,1,1,1,1,1,1,1] [4,8] -> [1,1,1,1,1,1,1,1,1,1,2] [2,8] -> [1, 1, 1, 1, 2, 1, 1, 1, 1] [4,4] -> …

28
配列分解
正の整数の配列が与えられた場合、これらの整数の異なる素因数の安定した配列を出力します。言い換えると、入力の整数ごとに、その素因数を取得し、並べ替え、出力にまだない素数を出力に追加します。 テストケース [1,2,3,4,5,6,7,8,9,10] -> [2,3,5,7] [10,9,8,7,6,5,4,3,2,1] -> [2,5,3,7] [100,99,98,1,2,3,4,5] -> [2,5,3,11,7] [541,60,19,17,22] -> [541,2,3,5,19,17,11] [1,1,2,3,5,8,13,21,34,45] -> [2,3,5,13,7,17] [6,7,6,7,6,7,6,5] -> [2,3,7,5] [1] -> [] [8] -> [2] [] -> [] 出力は、整数または文字列の配列またはリスト、区切られた出力、または番号の順序付きリストを出力するその他の標準手段として使用できます。 これはcode-golfであるため、バイト単位の最短回答が優先されます。

26
順序付けられていないリストから2つの整数を見つけて、合計して入力します
これはGoogleのインタビューの質問です。YouTubeリンクについてはこちらをご覧ください。 タスク: 合計が指定された整数になる順不同リストから2つの整数を見つけます。 整数の順序付けられていないリストが与えられた場合、合計が指定された値になる2つの整数を見つけ、これら2つの整数を出力し、成功を示します(終了0)。特定の数値(つまり、最初の2つの整数が正しい数値に加算される)である必要はありません。値に加算されるペアはすべて機能します。 整数は正でゼロより大きい。 整数のリストは、整数のファイル(1行に1つの整数)を含む任意のデータ構造にできます。 整数が見つからない場合は、失敗を示します(終了1)。 リスト内の異なる位置にある2つの整数を返す必要があります。(つまり、同じ位置から同じ番号を2回返すことはできません) (注:ビデオでは、これらは厳密には要件ではありません。「インタビュアー」は彼を複数回変更しました。) 例えば。 sum2 8 <<EOF 1 7 4 6 5 3 8 2 EOF 印刷3および5終了ステータスは0 です。これ1,7で2,6は結果も許可されることに注意してください。 sum2 8 <<EOF 1 2 3 4 可能なコンボがないため、終了ステータス1を返します。4,4ルール5に従って許可されていません。

11
この配列を行列に変換します
ネストされていない配列を入力として受け取ります。次の方法を使用して、マトリックスに変換します。 私の配列が [1, 2, 3, 4, 5] 最初に、その配列を5回繰り返します:(長さ) [[1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5]] 次に、対角線に沿って読みます: [[1], [2, 1], [3, 2, 1], [4, 3, 2, 1], [5, 4, 3, 2, 1], [5, …

11
緩い範囲の解釈
緩い範囲の解釈 ListSharpは、多くの機能を備えたインタープリター型プログラミング言語です。これらの機能の1つは、次のように機能する1つのインデックスベースの範囲作成者です。 あなたはと範囲を定義する(INT) TO (INT)か、単に(INT)どこの両方または単一のintは分からに行くことができる最大のint32値 次に、これらの範囲を使用して、境界を超えることを恐れずに配列の要素を抽出できます したがって: 1 TO 5 生成: {1,2,3,4,5} 3 生成: {3} AND演算子を使用して範囲を追加できます 1 TO 5 AND 3 TO 6 生成: {1,2,3,4,5,3,4,5,6} これは負の数でも機能することを忘れないでください 3 TO -3 生成: {3,2,1,0,-1,-2,-3} 課題は次のとおりです。 入力 文字配列および文字列として以前に定義された範囲句 出力 1インデックスの要素は範囲の位置に基づいています(非既存/負のインデックスは空の文字に変換されます) 勝つ方法 コードゴルフの挑戦として、あなたは勝つために最短のバイト数でプログラムを作成することになっています 空の文字は存在しないことが指摘されているため、無視する必要があります(ここでは、わかりやすくするためだけに示しましたが、混乱させています) テストケース: input array is: {'H','e','l','l','o',' ','W','o','r','l','d'} range clause: "1 TO 3" …
13 code-golf  array-manipulation  parsing  code-golf  string  ascii-art  kolmogorov-complexity  code-challenge  code-golf  sequence  code-golf  number  array-manipulation  sorting  code-golf  string  function  code-golf  arithmetic  code-golf  math  sequence  number-theory  primes  restricted-source  javascript  code-challenge  polyglot  rosetta-stone  code-golf  code-golf  regular-expression  code-golf  math  code-golf  math  primes  code-golf  ascii-art  kolmogorov-complexity  binary  code-golf  math  sequence  code-golf  sequence  subsequence  code-golf  string  code-golf  parsing  music  code-golf  grid  game  path-finding  board-game  code-golf  string  binary  code-golf  array-manipulation  balanced-string  code-golf  code-golf  algorithm  code-golf  string  number  arithmetic  array-manipulation  code-golf  array-manipulation  binary-tree  tree-traversal  code-golf  code-golf  tips  code-golf  string  base-conversion  code-golf  tips  s.i.l.o.s  code-golf  string  ascii-art  code-golf  code-challenge  code-golf  game 

13
フィボナッチ製品
正のフィボナッチ数の一意の合計として、0より大きい数を分解できます。この質問では、可能な最大の正のフィボナッチ数を繰り返し減算することでこれを行います。例えば: 1 = 1 2 = 2 3 = 3 4 = 3 + 1 12 = 8 + 3 + 1 13 = 13 100 = 89 + 8 + 3 ここで、フィボナッチ積を上記と同じリストと呼びますが、加算は乗算に置き換えられます。たとえば、f(100) = 89 * 8 * 3 = 2136。 正の整数nを指定して、その数のフィボナッチ積を返すプログラムまたは関数を作成します。 テストケース: 1: 1 2: 2 3: 3 4: …
13 code-golf  math  sequence  fibonacci  code-golf  word  code-golf  cipher  code-golf  string  math  subsequence  code-golf  regular-expression  code-golf  brainfuck  assembly  machine-code  x86-family  code-golf  math  factorial  code-golf  math  geometry  code-golf  math  arithmetic  array-manipulation  math  number  optimization  stack  metagolf  code-golf  tips  assembly  code-golf  tips  lisp  code-golf  number-theory  path-finding  code-golf  number  sequence  generation  code-golf  math  geometry  code-golf  grid  permutations  code-golf  code-golf  graphical-output  geometry  fractal  knot-theory  code-golf  math  arithmetic  code-golf  interpreter  balanced-string  stack  brain-flak  code-golf  math  set-theory  code-golf  math  array-manipulation  code-golf  code-golf  string  natural-language  code-golf  code-golf  math  linear-algebra  matrix  code-golf  string  encode 

21
配列を実行する
「配列をウォークスルーする」というイディオムをよく耳にしますが、これは「次の配列に関数をマッピングする」という意味です。しかし、私はそれを行う必要があります(今!)ので、アレイを実行してほしいです。 どうやって走るの? あなたの後ろにオオカミの野生のパックがあると想像してください 配列を実行することは、要素をスキップできることを除いて、配列をたどることに似ています。はい、それは時々乱雑ですが、(一般的に)動作します。「どの要素がスキップされますか?」と尋ねることができます。さて、これはランダムに行われます。アレイを実行してみましょう! Letをe現在の要素にします。 でrandomランダムフロートを生成しましょう[0,1)。の場合random() < 0.5、次の要素に進み、ステップ1に進みます(スキップして残りの(理想的に)等しいチャンスである限り、他の手段で数値を生成できます。たとえば、 2メンバーで設定し、結果に基づいてアクションを実行します。) そうしないと、機能を実行するfにはe。 目的 いずれかの配列/リスト/文字列Aと数値Kを指定すると、Kアクセスされた各メンバーに追加して配列を実行します。この配列を出力/返します。Aには非負の整数のみが含まれ、非負の整数Kのみになります。これはcode-golfであるため、バイト単位の最短プログラムが優先されます。 テストケース(例) K, A => possible K' [1, 2, 3, 4], 0 => [1, 2, 3, 4] [1, 2, 3, 4], 1 => [1, 3, 3, 5] [0, 0, 0, 0], 2 => [2, 0, 0, 2]

6
トーナメントの王は誰ですか?
バックグラウンド ラウンドロビントーナメントを考えてみましょう。各トーナメントでは、各競技者が他のすべての競技者に対して1つのゲームをプレイします。引き分けがないので、すべてのゲームには勝者と敗者がいます。競技者Aは、ある王他のすべての競技者のためならば、トーナメントのB、どちらかのAはビートBを、またはAは別の競技者破っC順番にビートBを。すべてのトーナメントには少なくとも1人のキングがいることを示すことができます(ただし、複数のトーナメントがある場合もあります)。このチャレンジでは、あなたの仕事は、与えられたトーナメントの王を見つけることです。 入出力 入力はN × Nブール行列Tであり、オプションN ≥ 2で参加者の数です。各エントリT[i][j]は、競技者iとの間のゲームの結果を表し、j値1は勝者を表し、i0は勝者を表しjます。なおT[i][j] == 1-T[j][i]場合i != j。の対角線はT0 で構成されます。 出力はT、0ベースまたは1ベースのインデックスを使用して、トーナメントを代表するトーナメントのキングリストになります。王の順序は関係ありませんが、重複するべきではありません。 入力と出力の両方を適切な形式で取得できます。 ルールとスコアリング 完全なプログラムまたは関数を作成できます。最小のバイトカウントが優先され、標準の抜け穴は許可されません。 テストケース これらのテストケースでは、0ベースのインデックスを使用します。1ベースのインデックス付けの場合、各出力値をインクリメントします。 2 [[0,0],[1,0]] -> [1] 3 [[0,1,0],[0,0,0],[1,1,0]] -> [2] 3 [[0,1,0],[0,0,1],[1,0,0]] -> [0,1,2] 4 [[0,1,1,1],[0,0,1,0],[0,0,0,0],[0,1,1,0]] -> [0] 4 [[0,1,1,0],[0,0,1,0],[0,0,0,1],[1,1,0,0]] -> [0,2,3] 5 [[0,1,0,0,1],[0,0,0,0,1],[1,1,0,0,0],[1,1,1,0,1],[0,0,1,0,0]] -> [3] 5 [[0,1,0,1,0],[0,0,1,1,1],[1,0,0,0,0],[0,0,1,0,1],[1,0,1,0,0]] -> [0,1,4] 5 [[0,0,0,0,0],[1,0,1,1,0],[1,0,0,0,1],[1,0,1,0,1],[1,1,0,0,0]] -> …

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