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

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

21
波の計算
私はしばらくこのサイトをスクロールしてきましたが、最近、いくつかの課題を実際に試すことに本当に興味を持ちました。既存のコードゴルフのトピックのいくつかを試してみようと思っていましたが、昨日はしばらくインターネットにアクセスできませんでしたが、その間に自分の挑戦を考えました。 あなたの仕事は、Floatsの配列aと整数を受け取るプログラムまたは関数を作成し、n各値aをその横にある2つのn時間の平均に設定することです。の値を増やして繰り返し使用nすると、波のような動きが生成されます。 詳細: に1つの項目しかないa場合、またはn0以下の場合、プログラムは元の配列を返す必要があります。 入力と出力は、視覚的に分離されている限り、任意の形式にすることができます。 各ステップについて: の最初のアイテムはa、それ自体と次のアイテムの平均になります。 の最後のアイテムはa、それ自体と前のアイテムの平均になります。 の他のアイテムaは、前のアイテムと次のアイテムの平均になります。 現在の配列ではなく、前のステップの配列から計算していることを確認してください! テストケース:注:入力/出力はこの形式である必要はありません! [0, 0, 1, 0, 0], 1 -> [0, 0.5, 0, 0.5, 0] [0, 0, 1, 0, 0], 2 -> [0.25, 0, 0.5, 0, 0.25] [0, 0, 1, 0, 0], 0 -> [0, 0, 1, 0, 0] [0, 0, 1, …

25
リストの範囲のホーム
この課題は、Pythonの範囲関数に似た整数のリストのリストを返すことです。ただし、連続する各数値はリストの深さでなければなりません。 ルール: プログラムまたは非匿名関数を作成します 結果を返すか印刷する必要があります 結果は、リスト(リスト)または配列(アレイ)で返される必要があります パラメータがゼロの場合、空のリストを返します これは、整数パラメーター0 <= n <70を処理できる必要があります。 (再帰的ソリューションはかなり速く爆発します) この関数は、1つのパラメーターのみで呼び出し可能でなければなりません。 その他の動作は未定義です。 これはコードゴルフなので、最短のコードが勝ちます。 呼び出し例: rangeList(6) > [0, [1, [2, [3, [4, [5]]]]]] テストケース: 0 => [] 1 => [0] 2 => [0, [1]] 6 => [0, [1, [2, [3, [4, [5]]]]]] 26 => [0, [1, [2, [3, [4, [5, …

30
リストのモード(最も一般的な要素)
スニペットを記述して、正の整数のリストのモード(最も一般的な数)を計算します。 たとえば、モード d = [4,3,1,0,6,1,6,4,4,0,3,1,7,7,3,4,1,1,2,8] で1、それは5倍の最大値を発生するので、。 リストは、などの変数に格納されd、一意のモードを持っていると想定できます。 例:Python、49 max(((i,d.count(i))for i in set(d)), key=lambda x:x[1]) これはcode-golfであるため、バイト単位の最短ソリューションが優先されます。

16
重複しない行列和
重複しない行列和 長さnのk個の配列が与えられた場合、各配列の1つの要素を使用して可能な最大合計を出力し、2つの要素が同じインデックスにないようにします。k <= nであることが保証されています。 入力 整数の空でない配列の空でないリスト。 出力 最大合計を表す整数。 例 Input -> Output [[1]] -> 1 [[1, 3], [1, 3]] -> 4 [[1, 4, 2], [5, 6, 1]] -> 9 [[-2, -21],[18, 2]] -> 0 [[1, 2, 3], [4, 5, 6], [7, 8, 9]] -> 15 [[1, 2, 3, 4], [5, …

29
巡回後継者の合計で私を置き換えてください!
今回は簡単な挑戦です。正の整数の配列を指定して、A(またはあなたの言語で同等)、各エントリ置き換えるAを、私は、次の合計とAのi個のの要素A、十分なアイテムが存在しない場合は、最初からバックをサイクリング。 いつものように、これらの抜け穴はデフォルトで禁止されていることに注意しながら、任意のプログラミング言語で競争し、標準的な方法および合理的な形式で入力を取得し、出力を提供できます。オプションで、入力としてAのサイズを取ることもできます。これはcode-golfであるため、すべての言語の最短の送信(バイト単位)が優先されます。 例/テストケース 与えられた場合[1,3,4,5]、あなたのコードは[3,10,13,14]、に1置き換えられますので3、3に置き換えられます4+5+1=10(最初からどのように折り返されたかに注意してください)、4by 5+1+3+4=13および5by 1+3+4+5+1=14。 与えられた[3,2,1,9]、あなたのプログラムが生成しなければならない[12,10,9,33]、我々は代用ので、3と2+1+9=12、2と1+9=10、1と9と9と3+2+1+9+3+2+1+9+3=33(私たちは戻って最初から複数回包まれた方法に注目してください)。 いくつかのテストケースから選択できます。 [4,3,2,1] -> [10,7,5,4] [3,2,1,9] -> [12,10,9,33] [1,3,4,5] -> [3,10,13,14] [4,4,3,2,2] -> [11,11,8,6,8] [3,5,3,2,1] -> [10,14,6,4,3] [3,2,4,3,2,1,1] -> [9,7,7,4,2,1,3] [7,8,6,5,4,3,2,1,5] -> [29,33,20,15,11,8,6,5,30] [28,2,4,2,3,2,3,4,5,3] -> [137,6,10,5,9,7,12,38,39,34] [1,2,3,4,5,4,3,2,1,2,3,4,3,2,1] -> [2,7,13,14,12,8,5,3,2,7,9,7,4,2,1]

24
単一の数字を上げる
前書き 数値のリストの末尾の最大値、つまり空でない各サフィックスの最大値を計算するとします。それを行う1つの方法は、1つの番号を繰り返し選択し、それが不可能になるまで、その番号の後に発生するより大きな番号に置き換えることです。この課題では、タスクはこのアルゴリズムの1つのステップを実行することです。 タスク 入力は整数Lのリストで、空の場合があります。出力はリストLになります。リストLでは、正確に1つの数値L iが別のL jに置き換えられています。ここで、L i <L jおよびi <jです。 言い換えると、1つの数値を、その後に発生するより大きな数値に置き換える必要があります。 あなたは選ぶことができますIおよびjは、有効なすべてのペアの間で自由に、そして選択は非決定的ことができます。 そのようなiとjが存在しない場合(つまり、Lが増加しない場合)、出力はLのままになります。 例 入力L = [3、1、4、-1、2]を考えます。可能な操作は、3を4に、1を4に、1を2に、または-1を2に置き換えることです。したがって、可能な出力は次のとおりです。 [ 3 , 1 , 4 , -1 , 2 ] ------------------------------ [( 4), 1 ,( 4), -1 , 2 ] [ 3 ,( 4),( 4), -1 , 2 ] [ 3 ,( …


24
カンガルーシーケンスを計算する
バックストーリー 免責事項:カンガルーに関する情報が含まれている場合があります。 カンガルーはいくつかの開発段階を通過します。彼らは年をとって強くなるにつれて、より高く、より長くジャンプすることができ、空腹になる前に何度もジャンプすることができます。 ステージ1では、カンガルーは非常に小さく、まったくジャンプできません。これにもかかわらず、常に栄養が必要です。このようにステージ1のカンガルーの活動パターンを表すことができます。 o ステージ2では、カンガルーは小さなジャンプをすることができますが、空腹になる前に2つを超えることはできません。このようにステージ2のカンガルーの活動パターンを表すことができます。 o o o o o ステージ2の後、カンガルーはすぐに改善します。その後の各段階で、カンガルーは少し高く(グラフィック表示では1単位)、2倍にジャンプできます。たとえば、ステージ3のカンガルーの活動パターンは次のようになります。 o o o o o o o o o o o o o o o o o ジャンプにはエネルギーが必要なので、カンガルーは各活動パターンを完了した後に栄養を必要とします。必要な正確な金額は、次のように計算できます。 ステージnカンガルーの活動パターンの各oにその高さ、つまり1からnまでの数字を割り当てます。ここで、1は地面に対応し、nは最高位置に対応します。 アクティビティパターンのすべての高さの合計を計算します。 たとえば、ステージ3のカンガルーの活動パターンには、次の高さが含まれます。 3 3 3 3 2 2 2 2 2 2 2 2 1 1 1 1 1 …

10
配列で跳ねる
前書き 配列は、跳ねるボールのフィールドとして見ることもできます。もちろんこれは非常にあいまいに聞こえるので、入力の例を次に示します。 [1, 2, 3, 4, 5, 6, 7, 8, 9] [9, 8, 7, 6, 5, 4, 3, 2, 1] [1, 2, 3, 4, 5, 6, 7, 8, 9] 課題は、バウンスされた配列を出力することです。これらは、フィールドの端で跳ね返る斜めのパターンから作られています。この経路は上向きです。最初のバウンスされた配列のパス(パスがegdeから直接バウンスされる)は、次のとおりです。 [1, -, -, -, 5, -, -, -, 9] [-, 8, -, 6, -, 4, -, 2, -] [-, -, …

27
月に何日?
月のテキスト表現(大文字と小文字を区別しないフルネームまたは3文字の略語)を指定すると、その月の日数を返します。 たとえば、december、DEC、およびdecすべての31を返す必要があります。 2月には28日または29日があります。 入力が正しい形式の1つの月であると想定します。

15
すべてのシングルエイト
から0までの整数の空でない長方形の配列が与えられた9場合8、隣接するセルの数と出力しないセルの量を出力し8ます。ここでは、隣接はムーアの意味で理解されます。つまり、対角線を含みます。その8ため、配列の端にあるセルを除き、各セルには近傍があります。 例えば、与えられた入力 8 4 5 6 5 9 3 8 4 8 0 8 6 1 5 6 7 9 8 2 8 8 7 4 2 出力はでなければなりません3。3つの適格なセルは、アスタリスクでマークされた次のセルになります(ただし、そのようなエントリの量だけが出力されます)。 * 4 5 6 5 9 3 8 4 * 0 8 6 1 5 6 7 9 * 2 8 8 …

15
モジュラー放送
この課題は、2018年5月の「Language of the Month」イベントの一部として、MATL言語の機能の一部に関連しています。 前書き MATLでは、多くの2入力機能が働く要素単位で放送。これは次のことを意味します。 要素単位(またはベクトル化):関数は、サイズが一致する2つの配列を入力として受け取ります。関数によって定義された操作は、対応するエントリの各ペアに適用されます。たとえば、修正後表記を使用する場合: [2 4 6] [10 20 30] + 与え ouputをを [12 24 36] これは多次元配列でも機能します。表記[1 2 3; 4 5 6]は2× 3配列(行列)を表します 1 2 3 4 5 6 これは2、最初の次元(垂直)と32番目(水平)に沿ったサイズを持ちます。例えば [2 4 6; 3 5 7] [10 20 30; 40 60 80] * 与える [20 80 180; …

3
簡易カーニングを実装する
前書き カーニングとは、テキストの文字間の間隔を調整することを意味します。例として、Top次の3つのグリフで書かれた単語を考えます。 ##### ..... ..... ..#.. ..... ..... ..#.. ..##. .###. ..#.. .#..# .#..# ..#.. .#..# .#..# ..#.. ..##. .###. ..... ..... .#... ..... ..... .#... グリフ間のギャップをドットで埋めて完了させることもできますが、ギャップはどうやら広すぎるように見えます。代わりに、グリフを左にスライドさせて、ほとんど触れないようにします。 #####........ ..#.......... ..#..##..###. ..#.#..#.#..# ..#.#..#.#..# ..#..##..###. .........#... .........#... これはずっと良く見える!のバーがTの左の境界線の上にあることに注意してくださいo。この課題では、このような長方形のグリフに簡単なカーニングプログラムを実装することがタスクです。 カーニングプロセス 二長方形の2次元文字配列考える.と#同じ形状を。単純なカーニングプロセスでは、最初に1列の.sを挟んで配列を並べて配置します。次に、#右と左の配列のいくつか#が直交または斜めに隣接するまで、右の配列のそれぞれを左に1ステップ移動します。カーニングの結果は、隣接するを導入する前のステップ#です。あなたの仕事は、このプロセスを実装することです。 例を見てみましょう: Inputs: ..### #.... #.... ..##. ...#. ...## ..### ....# Process: ..###....#. …
24 code-golf  grid  code-challenge  atomic-code-golf  code-golf  combinatorics  probability-theory  card-games  code-golf  number  geometry  code-golf  decision-problem  chess  code-golf  math  number  sequence  code-golf  string  regular-expression  code-golf  arithmetic  integer  code-golf  math  array-manipulation  code-golf  number  decision-problem  integer  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  decision-problem  graph-theory  binary-matrix  code-golf  string  parsing  code-golf  string  code-golf  morse  code-golf  code-golf  string  code-golf  ascii-art  cellular-automata  code-golf  binary  base-conversion  code-golf  arithmetic  decision-problem  integer  checksum  code-golf  matrix  linear-algebra  code-golf  code-golf  game  code-golf  sequence  binary  code-golf  combinatorics  optimization  code-golf  decision-problem  quine  code-golf  rational-numbers  bitwise  code-golf  string  permutations  code-golf  kolmogorov-complexity  unicode  code-golf  ascii-art  number  code-golf  number  integer  binary  base-conversion  code-golf  array-manipulation  code-golf  chemistry  code-golf  number  sequence  fibonacci  code-golf  matrix  optimization  code-golf  number  code-golf  math  number  sequence  code-golf  math  array-manipulation  matrix  linear-algebra  code-golf  kolmogorov-complexity  cops-and-robbers  cops-and-robbers  code-golf  tips  basic  code-golf  decision-problem  binary  tiling  game  king-of-the-hill  python  code-golf  c  code-golf  ascii-art  code-golf  string  kolmogorov-complexity  alphabet  code-golf  number  code-golf  string  code-golf  number  sequence  integer  code-golf  number  permutations  restricted-complexity  restricted-time 

22
同一の要素間の最大実行
これは、ar kangによって削除されたこの質問のオーバーホールです。その質問のOPがこの質問を取り戻したい場合、またはこれを投稿することで問題がある場合は、喜んで対応します 入力として整数のリストを指定すると、同じ値で開始および終了する連続サブリストの最大可能合計を見つけます。サブリストの長さは少なくとも2でなければなりません。たとえば、リストの場合 [1, 2, -2, 4, 1, 4] 同じ値で開始および終了する2つの異なる連続サブリストがあります [1,2,-2,4,1] -> 6 [4,1,4] -> 9 大きい方の合計は9なので、9を出力します。 すべての入力に少なくとも1つの重複が含まれると想定できます。 これはコードゴルフであるため、回答はバイト単位でスコアリングされ、バイト数は少ない方が良いでしょう。 テストケース [1,2,-2,4,1,4] -> 9 [1,2,1,2] -> 5 [-1,-2,-1,-2] -> -4 [1,1,1,8,-1,8] -> 15 [1,1,1,-1,6,-1] -> 4 [2,8,2,-3,2] -> 12 [1,1,80] -> 2 [2,8,2,3,2] -> 17

27
配列を列挙し、重複をグループ化します
この課題の目的は、正の整数の配列を取得し、そのインデックスを列挙して、要素のようにグループ化することです。 重複のない列挙は(value, index)、たとえば[3, 4, 13, 9, 2]=>のようなペアの配列を出力するだけで行われ[[3,1],[4,2],[13,3],[9,4],[2,5]]ます。 ただし、特定の要素が2回目に出現した場合、その要素には独自のペアが与えられるのではなく、最初に出現するグループに追加されます。私たちの上の例では、我々は3と9を交換した場合、出力には、我々は削除します[9,4]と交換してください[3,1]と[3,1,4]。 出力では、グループは最初に出現する順に並べる必要があり、インデックスは昇順である必要があります。要素は、インデックスの前にグループの最初になければなりません。出力には、0または1のインデックスが付けられます。配列に少なくとも1つの要素があると仮定できます。 テストケース: Input | Output (One-indexed) [3, 2, 2, 3] | [[3, 1, 4], [2, 2, 3]] [17] | [[17, 1]] [1, 1] | [[1, 1, 2]] [1, 1, 2] | [[1, 1, 2], [2, 3]] [1, 2, 3, 4] | [[1, …

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