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

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

26
加重平均-押し上げ傾向の問題
この配列が、過去28日間に毎日達成したプレスアップの数だとしましょう。 [ 20,20,20,30,30,30,30, 35,35,40,40,40,45,45, 50,50,50,50,50,50,50, 60,70,80,90,100,110,120 ] ご覧のように、先週は急激な上昇傾向にあり、これがこのデータの中で最も興味のある部分です。過去のデータが多いほど、「平均」でそのデータを取り上げる必要が少なくなります。 '腕立て伏せの数。 そのために、前週よりも各週の価値が高い「平均」を算出したいと思います。 この問題の一部ではなく、背景情報。 通常の平均: すべての値の合計/値の数 上記の場合: 1440/28 = 51.42857142857143 加重平均: アレイを7つの4つのグループに分割し、新しいアレイを起動します。 最初のグループを配列に追加します。 2番目のグループをアレイに2回追加します。 3番目のグループを3回配列に追加します。 4番目のグループを配列に4回追加します。 長さで新しい配列の全て、及び分割を合計新しいアレイ。 上記の場合: 配列をこれに変換します: [ 20,20,20,30,30,30,30, # first week once 35,35,40,40,40,45,45, 35,35,40,40,40,45,45, # second week twice 50,50,50,50,50,50,50, 50,50,50,50,50,50,50, 50,50,50,50,50,50,50, # third week thrice 60,70,80,90,100,110,120, 60,70,80,90,100,110,120, 60,70,80,90,100,110,120, 60,70,80,90,100,110,120 # …

1
アドベントチャレンジ8:保管カート輸送計画!
<<前へ PPCGコミュニティのおかげで、サンタは現在、保管カートのバランスを調整しています。今、彼はそれらをローディングベイに送ることができるようにそれらを輸送ドックに移動する必要があります。残念ながら、カートを移動するためのトラックはめちゃくちゃで、一緒にクラッシュせずにすべてを移動する方法を見つける必要があります! チャレンジ 各カートのトラックは、「ラベル」(またはステーション)のリストとして提供されます。カートは、いつでも2つのカートが同じラベル/ステーションにないように移動する必要があります。基本的に、カートはそれぞれに固有のラベルが付いている位置の間を移動します。 仕事 各カートのトラックをラベルのリスト(すべて正の整数)のリストとして指定し、すべてのカートをできるだけ短い時間で安全に目的地に送るために、各カートをいつリリースするかを決定します。 ここでは、トラックシステム全体の仕組みについて説明します。たとえば、カートiがt_iラベル付きのトラックにリリースされたとしT_i_1, T_i_2, ..., T_i_nます。すると、中にt_1までt_i-1、カートがiグリッド上ではなく、無視することができます。 時間枠t_iで、カートはラベルT_i_1にあり、t_kからt_iまでの時間枠ごとt_i+nに、カートはラベルにありT_i_k+1ます。 を含むすべての時間枠t_i+nで、カートは目的地にあり、グリッド上にありません。 所要時間の合計t_Tは、カートがシステムのトラック上に残っている最後の時間枠です。 仕様書 トラックシステムが指定されている場合、カートが時間に開始[t_1, t_2, ..., t_n]する時間枠のリストを返します。これにより、他の配置ではカートがより短い時間で目的地に安全に到着できなくなります。it_i 任意の時間枠であれば「安全」の面では、t_1へのt_T任意のラベル上に複数のカートがあり、それらが衝突し、配置が「安全」ではなかったです。トラックが2ウェイであるため、2つのカートがからa, bに移動してb, aも「安全」であることに注意してください。 フォーマット仕様 入力は、適切な形式の正の整数の行列として与えられます。出力は、適切な形式の正の整数のリストとして提供する必要があります。インデックスのない時間枠で出力を与えることができるので、出力は適切な形式の非負整数のリストになります。 ルール 標準抜け穴が適用されます これはコードゴルフなので、バイト単位の最も短い答えが勝ちます 回答は受け付けられません テストケース Input -> Output [[1, 2, 3], [4, 5, 6], [7, 8, 9]] -> [1, 1, 1] [[1, 2, 3], [1, 2, 3]] …

2
OEIS A005434を計算する
タスクは、OEIS A005434をできるだけ迅速に計算することです。 S長さのバイナリ文字列を考えnます。からインデックスを作成すると1、からまでの順序ですべてに対して完全にS[1..i+1]一致するかどうかを判断できます。例えば、S[n-i..n]i0n-1 S = 01010 与える [Y, N, Y, N, Y]. これは、ある0試合0、01一致しない場合10、010一致は010、0101一致していない1010 し、最終的に01010自分自身にマッチします。 長さの考えられるすべての異なるビット文字列を繰り返し処理するときに取得するsとsのf(n)個別の配列の数になるように定義します。YN2^nSn 観察者は、この質問が私の最近の別の質問の簡単な変形であることに気付くでしょう。しかし、私は巧妙なトリックがこれをはるかに速く簡単にすることを期待しています。 仕事 でn開始を増やすに1は、コードで出力する必要がありますn, f(n)。 回答例 のn = 1..24正解は次のとおりです。 1, 2, 3, 4, 6, 8, 10, 13, 17, 21, 27, 30, 37, 47, 57, 62, 75, 87, 102, 116, 135, 155, 180, 194 得点 あなたのコードは順番n = …

6
N基底の回文である数
負でない整数が指定された場合n >= 0、x_i >= 3完全にn異なるb基数の回文である整数のシーケンスを永久に出力します2 <= b <= x_i-2。 これは基本的にOEIS A126071の逆で、そのシーケンスのどのインデックスが値を持つかを出力しますn。b = x_i-1, x_i, x_i+1これらのベースの結果は常に同じであるため(値は常にパリンドロームであるか、常にそうでないか)、ベースを無視するように変更したため、少し異なります。また、オフセットが異なります。 x_i>= 3それぞれの結果の最初の項nがA037183になるように、数値に制限されています。 出力形式は柔軟ですが、数値は適切な方法で区切る必要があります。 例: n seq 0 3 4 6 11 19 47 53 79 103 137 139 149 163 167 ... 1 5 7 8 9 12 13 14 22 23 25 29 35 …
10 code-golf  sequence  base-conversion  palindrome  code-golf  array-manipulation  matrix  code-golf  string  ascii-art  code-golf  ascii-art  physics  code-golf  number  sequence  fibonacci  code-golf  ascii-art  packing  code-golf  string  hexadecimal  code-challenge  restricted-source  decision-problem  binary  code-golf  code-golf  code-golf  stack-exchange-api  code-golf  string  parsing  generation  data-structures  code-golf  kolmogorov-complexity  graphical-output  code-golf  array-manipulation  integer  generation  data-structures  code-golf  number  random  probability-theory  king-of-the-hill  java  minesweeper  code-golf  string  kolmogorov-complexity  animation  code-golf  string  code-golf  code-golf  quine  code-golf  internet  code-golf  arithmetic  base-conversion 

1
配列とプログラムを半分に分割
前書き (何らかの理由で)長方形の整数配列を半分に均等に分割するプログラムを作成する必要があります。このタスクは計算集約型ですが、幸いにも計算を実行するデュアルコアマシンがあります。並列処理の利点を最大限に活用するには、プログラムを半分に均等に分割し、各コアが部分から独立して実行できるようにします。 入出力 入力は、少なくとも1×1のサイズの非負整数の長方形の2D配列であり、適切な形式で取得されます。このような配列の分割は、各水平行を接頭辞と接尾辞(どちらも空の場合があります)に分割することで得られます。分割を有効にするには、2つの隣接する行を同じインデックスまたは隣接するインデックスで分割する必要があります。たとえば、配列を考えてみましょう 2 4 5 5 6 3 9 7 1 7 7 0 0 0 3 6 7 8 1 2 4 7 6 1 6 6 8 2 0 0 これは有効な分割です: 2;4 5 5 6 3 ;9 7 1 7 7 0 ;0 0 3 6 …

4
最小コストのブロック対角化
主対角線上に1の正方ブロックを持ち、その他の場所では0であるバイナリブロック対角行列を考えます。このような行列を「有効な」行列と呼びましょう。 たとえば、ここにいくつかの有効な4x4行列があります。 1 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 1 1 0 1 0 0 1 1 0 0 0 1 1 0 0 1 1 1 1 1 0 0 1 1 1 1 …

30
繰り返しアイテムのグループ
チャレンジの説明 アイテムのリスト/配列を指定して、連続する繰り返しアイテムのすべてのグループを表示します。 入力/出力の説明 入力は、アイテムのリスト/配列です(すべてが同じタイプであると想定できます)。言語が持つすべてのタイプをサポートする必要はありませんが、少なくとも1つをサポートする必要intがあります(できれば、のようなタイプbooleanも非常に興味深いものではありませんが、問題ありません)。出力例: [4, 4, 2, 2, 9, 9] -> [[4, 4], [2, 2], [9, 9]] [1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 4] -> [[1, 1, 1], [2, 2], [3, 3, 3], [4, 4, 4, 4]] [1, 1, 1, 3, 3, 1, 1, 2, …

2
リストを分割します!
この課題では、リストにパーティションを作成する必要があります。パーティションには、最大サイズ、最小サイズ、および適切なサイズがあります。(min,pref,max) この課題では、表記を使用してサイズを示します。 パーティション設定に不慣れな方のために、次のリストは3の部分に分割されています。 [0..9] -> [[0,1,2],[3,4,5],[6,7,8]] リストが均等に分割できない場合は、パーティションを可能な限り推奨サイズに近づける必要があります[0..10], (2,4,5) -> [[0,1,2,3],[4,5,6],[7,8,9]]。[[0,1,2,3],[4,5,6,7],[8,9]]後者の方が好ましい長さですが、この分割はに優先します。正式には(partitionLength-preferredSize)^2、各パーティションの合計を最小化する必要があります。 パーティションの長さの順序は重要ではありません:については[0..5], (2,3,3)、いずれか[[0,1,2],[3,4]]または[[0,1],[2,3,4]]作品を。パーティションを作成できない場合は、空の配列を返します[0..7], (4,4,5) -> []。 あなた1<=min<=pref<=maxは、あなたに渡された配列が空でない整数の配列であると仮定することができます。配列は常に最初の引数になります。min、max、およびprefは、任意の順序で、タプルまたは個別の引数として受け入れることができます。 プログラムは数秒で実行する必要があります。基本的に、境界内で可能なすべてのパーティションサイズを反復することはできません。 テストケース: [1], (1,3,4) -> [[1]] [100], (1,2,3) -> [[100]] [1,2], (1,1,2) -> [[1],[2]] [1,2], (1,2,2) -> [[1,2]] [1,2], (1,3,3) -> [[1,2]] [1,2,3], (1,2,3) -> [[1,2],[3]] or [[1,2,3]] [1,2,3,4], (1,3,4) -> [[1,2,3,4]] [1,2,3,4,5], (3,3,4) …

5
配列を真ん中から印刷する
これはコードゴルフの質問です。 与えられた整数sおよびnは、-sからsまでの値を取る長さnのすべての配列を出力することです。唯一の工夫は、次の順序で出力する必要があることです。 長さがnのすべてゼロの配列。 以前に出力した配列を除く、要素が-1から1までの長さnのすべての配列。 以前に出力した配列を除く、-2〜2の要素を持つ長さnのすべての配列。 そして、前に出力した配列を除いて-sからsまでの要素を持つ長さnのすべての配列に到達するまで続けます。 1行に1つの配列を出力する必要があります。スペースまたはカンマで区切ることができます。 以下は、配列/リスト/タプルを正しい順序で出力する非準拠のpythonコードです。 import itertools s = 3 n = 2 oldsofar = set() newsofar = set() for i in xrange(s): for k in itertools.product(range(-i,i+1), repeat = n): newsofar.add(k) print newsofar - oldsofar oldsofar = newsofar.copy() print "***" セット減算または同等の機能を実行しない回答に対する追加の栄光(および私からの賛成票)。

3
セルオートマトンのシーケンスの特定
バックグラウンド この課題のために、n-stateセルオートマトンはf、状態セットから2つの数値{0, 1, ..., n-1}を入力として受け取り、そのセットから別の数値を出力として返す単純なバイナリ関数です。これは、少なくとも2の長さの数値のリストに適用できます。L = [x0, x1, x2, ..., xk-1] f(L) = [f(x0, x1), f(x1, x2), f(x2, x3), ..., f(xk-2, xk-1)] 結果のリストの要素は元のリストより1つ少ないことに注意してください。時空図のfから始まるは、L繰り返し適用して得られたリストのリストであるfとL、リスト内の結果を収集します。最終的なリストの長さは1です。状態セットのすべての2要素リストが、時空間図のいくつかの行の連続したサブリストである場合、リストLはの識別シーケンスであると言います。これは、他の状態のCAがその正確な時空図を持たないという条件と同等です。fLn 入力 入力は、nx行n整数の行列M、L長さが2以上の整数のリスト、およびオプションで数値nです。マトリックスがM定義n-state CA fによってf(a,b) = M[a][b](0ベースのインデックスを使用して)。これは、ことが保証されn > 0、そのMとLのみ状態集合の要素を含みます{0, 1, ..., n-1}。 出力 LCAの識別シーケンスである場合、出力は一貫した真の値fであり、それ以外の場合は一貫した偽の値になります。これは、すべての「はい」インスタンスは同じ真理値をもたらし、すべての「いいえ」インスタンスは同じ偽値をもたらすことを意味します。 例 入力を考えてみましょうn = 2、M = [[0,1],[1,0]]とL = [1,0,1,1]。マトリックスは、MバイナリXORオートマトンを定義f(a,b) = a+b mod 2し、時空図最低LIS 1 0 …

23
O(n)アルゴリズムを使用して整数配列を回転する[終了]
休業。この質問には詳細または明確さが必要です。現在、回答を受け付けていません。 この質問を改善してみませんか?詳細を追加し、この投稿を編集して問題を明確にしてください。 2年前休業。 整数配列を指定された数kだけ回転させる関数を記述します。末尾からk個の要素は配列の先頭に移動し、他のすべての要素はスペースを作るために右に移動する必要があります。 回転はインプレースで行う必要があります。 アルゴリズムはO(n)以上で実行しないでください。nは配列のサイズです。 また、操作を実行するには定数メモリを使用する必要があります。 例えば、 配列が要素arr = {1、2、3、4、5、6、7、8、9}で初期化される場合 rotate(arr、3)は、要素が{7、8、9、1、2、3、4、5、6}になる結果になります rotate(arr、6)は、{4、5、6、7、8、9、1、2、3}になります。

13
リストを使用した操作
この質問に触発されました。 数値を含むリストを指定して、印刷します。 リストの数値の合計と積 平均と中央値 リスト内の各用語の違い(例[1,2,3] -> [1,1]: 1+1=2, 2+1=3) 昇順で並べ替えられたリスト リストの最小値と最大値 リストの標準偏差 参考のために: 標準偏差 ここで、μは平均の平均、x iはiリストのth番目の項、リストNの長さです。 最短のコードが勝ちます。幸運を!

11
詐欺師をマッピングしてください!
すべての課題が提出されると、生徒番号をファイルのハッシュにマップする辞書が作成されます。 このディクショナリ、またはハッシュマップ、またはマッピング(言語によって何と呼ばれていても)は次のようになります。 {100: "aabb", 104: "43a", 52: "00ab", 430: "aabb", 332: "43a"} キーは学生番号で、値はハッシュです。 私たちの仕事は詐欺師を選ぶことです!不正行為者は、同一のハッシュを持つものです。 入力が与えられると、{100: "aabb", 104: "43a", 52: "00ab", 430: "aabb", 332: "43a"}関数は次のテキストを返す(または出力する)必要があります。 100 has identical files to 430 104 has identical files to 332 ハッシュが一意であるファイルが言及されていないことに注意してください。 また、ここでの順序も重要です。 {100: "aabb", 202: "aabb", 303: "ab", 404: "aabb"} 次のテキストを返す(印刷する)必要があります。 100 has identical …

22
自身がn回あるリストのデカルト積
値のリストと正の整数を指定するnと、コードはリストとn時間のデカルト積を出力します。 たとえば、疑似コードでは、関数は次のようになります。 for x1 in list: for x2 in list: for x3 in list: ... for xn in list: print x1, x2, x3, ... , xn 例: repeated_cart([1,2,3], 3) 1 1 1 1 1 2 1 1 3 1 2 1 1 2 2 1 2 3 1 3 1 …

7
コードゴルフ:フェイリーシーケンス(I)
チャレンジ このタスクでは、整数N(10 ^ 5未満)が与えられ、次数NのFareyシーケンスが出力されます。 入力Nは1行で指定され、入力はEOFで終了します。 入力 4 3 1 2 出力 F4 = {0/1, 1/4, 1/3, 1/2, 2/3, 3/4, 1/1} F3 = {0/1, 1/3, 1/2, 2/3, 1/1} F1 = {0/1, 1/1} F2 = {0/1, 1/2, 1/1} 制約 入力数は10 ^ 6の値を超えません 任意の言語を使用できます 最短のソリューションが勝ちます!
10 code-golf  math  code-golf  math  code-golf  number  number-theory  code-golf  math  arithmetic  repeated-transformation  code-golf  geometry  popularity-contest  code-golf  code-golf  tips  haskell  math  fastest-algorithm  code-golf  combinatorics  code-golf  math  polynomials  rational-numbers  code-golf  code-golf  popularity-contest  javascript  code-golf  kolmogorov-complexity  code-golf  code-golf  math  combinatorics  permutations  code-challenge  restricted-source  random  array-manipulation  code-challenge  generation  code-golf  code-golf  ascii-art  arithmetic  division  code-challenge  number  code-golf  math  number  binary  code-golf  ascii-art  code-golf  interpreter  stack  code-golf  internet  networking  code-golf  math  code-golf  ascii-art  code-golf  math  sequence  code-golf  hello-world  restricted-source  code-golf  ascii-art  code-golf  geometry  code-golf  kolmogorov-complexity  pi  code-golf  math  combinatorics  permutations  code-golf  math  code-challenge  ascii-art  code-golf  string  code-golf  quine  code-golf  math  floating-point  golfscript  code-golf  string  code-golf  sliding-puzzle  code-challenge  arithmetic  code-golf  math  code-golf  geometry  optimized-output 

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